diff --git a/core/.eslintrc.json b/core/.eslintrc.json index 962bd84f265305a33d902c7ed340e34035c1d481..f4b9ff39fb65086fb41566059484603e9e335b96 100644 --- a/core/.eslintrc.json +++ b/core/.eslintrc.json @@ -21,6 +21,11 @@ "Sortable": true, "CKEDITOR": true }, + "settings": { + "react": { + "version": "latest" + } + }, "rules": { "prettier/prettier": "error", "consistent-return": ["off"], diff --git a/core/interdiff.txt b/core/interdiff.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/misc/active-link.js b/core/misc/active-link.js index 69651211fb50acd3cefd88109196f322d7adc20b..caa29f87da62e7cfdbd892159d8591eaf04a2c0f 100644 --- a/core/misc/active-link.js +++ b/core/misc/active-link.js @@ -10,26 +10,25 @@ attach: function attach(context) { var path = drupalSettings.path; var queryString = JSON.stringify(path.currentQuery); - var querySelector = path.currentQuery ? '[data-drupal-link-query=\'' + queryString + '\']' : ':not([data-drupal-link-query])'; - var originalSelectors = ['[data-drupal-link-system-path="' + path.currentPath + '"]']; - var selectors = void 0; + var querySelector = path.currentQuery ? "[data-drupal-link-query='".concat(queryString, "']") : ':not([data-drupal-link-query])'; + var originalSelectors = ["[data-drupal-link-system-path=\"".concat(path.currentPath, "\"]")]; + var selectors; if (path.isFront) { originalSelectors.push('[data-drupal-link-system-path="<front>"]'); } selectors = [].concat(originalSelectors.map(function (selector) { - return selector + ':not([hreflang])'; + return "".concat(selector, ":not([hreflang])"); }), originalSelectors.map(function (selector) { - return selector + '[hreflang="' + path.currentLanguage + '"]'; + return "".concat(selector, "[hreflang=\"").concat(path.currentLanguage, "\"]"); })); - selectors = selectors.map(function (current) { return current + querySelector; }); - var activeLinks = context.querySelectorAll(selectors.join(',')); var il = activeLinks.length; + for (var i = 0; i < il; i++) { activeLinks[i].classList.add('is-active'); } @@ -38,6 +37,7 @@ if (trigger === 'unload') { var activeLinks = context.querySelectorAll('[data-drupal-link-system-path].is-active'); var il = activeLinks.length; + for (var i = 0; i < il; i++) { activeLinks[i].classList.remove('is-active'); } diff --git a/core/misc/ajax.es6.js b/core/misc/ajax.es6.js index 518e2a1f99dd867b0fad3b253e66f7c1b4a32637..96d9be3886c5f1350eea5232eb02cc3ee178ae2d 100644 --- a/core/misc/ajax.es6.js +++ b/core/misc/ajax.es6.js @@ -102,7 +102,9 @@ if (xmlhttp.status) { statusCode = `\n${Drupal.t('An AJAX HTTP error occurred.')}\n${Drupal.t( 'HTTP Result Code: !status', - { '!status': xmlhttp.status }, + { + '!status': xmlhttp.status, + }, )}`; } else { statusCode = `\n${Drupal.t( @@ -1129,12 +1131,14 @@ (response.effect || ajax.effect) !== 'none' && $newContent.filter( i => - !// We can not consider HTML comments or whitespace text as separate - // roots, since they do not cause visual regression with effect. - ( - $newContent[i].nodeName === '#comment' || - ($newContent[i].nodeName === '#text' && - /^(\s|\n|\r)*$/.test($newContent[i].textContent)) + !( + // We can not consider HTML comments or whitespace text as separate + // roots, since they do not cause visual regression with effect. + ( + $newContent[i].nodeName === '#comment' || + ($newContent[i].nodeName === '#text' && + /^(\s|\n|\r)*$/.test($newContent[i].textContent)) + ) ), ).length > 1 ? Drupal.theme('ajaxWrapperMultipleRootElements', $newContent) diff --git a/core/misc/ajax.js b/core/misc/ajax.js index 06d13d4738de9b5eb8e33303ec9c41e46f038dd8..714679941fd17915b0a877a6a2a46fbd887cd9a4 100644 --- a/core/misc/ajax.js +++ b/core/misc/ajax.js @@ -4,16 +4,25 @@ * https://www.drupal.org/node/2815083 * @preserve **/ -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } (function ($, window, Drupal, drupalSettings) { Drupal.behaviors.AJAX = { attach: function attach(context, settings) { function loadAjaxBehavior(base) { var elementSettings = settings.ajax[base]; + if (typeof elementSettings.selector === 'undefined') { - elementSettings.selector = '#' + base; + elementSettings.selector = "#".concat(base); } + $(elementSettings.selector).once('drupal-ajax').each(function () { elementSettings.element = this; elementSettings.base = base; @@ -24,22 +33,17 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr Object.keys(settings.ajax || {}).forEach(function (base) { return loadAjaxBehavior(base); }); - Drupal.ajax.bindAjaxLinks(document.body); - $('.use-ajax-submit').once('ajax').each(function () { var elementSettings = {}; - elementSettings.url = $(this.form).attr('action'); - elementSettings.setClick = true; - elementSettings.event = 'click'; - - elementSettings.progress = { type: 'throbber' }; + elementSettings.progress = { + type: 'throbber' + }; elementSettings.base = $(this).attr('id'); elementSettings.element = this; - Drupal.ajax(elementSettings); }); }, @@ -53,45 +57,47 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }; Drupal.AjaxError = function (xmlhttp, uri, customMessage) { - var statusCode = void 0; - var statusText = void 0; - var responseText = void 0; + var statusCode; + var statusText; + var responseText; + if (xmlhttp.status) { - statusCode = '\n' + Drupal.t('An AJAX HTTP error occurred.') + '\n' + Drupal.t('HTTP Result Code: !status', { '!status': xmlhttp.status }); + statusCode = "\n".concat(Drupal.t('An AJAX HTTP error occurred.'), "\n").concat(Drupal.t('HTTP Result Code: !status', { + '!status': xmlhttp.status + })); } else { - statusCode = '\n' + Drupal.t('An AJAX HTTP request terminated abnormally.'); + statusCode = "\n".concat(Drupal.t('An AJAX HTTP request terminated abnormally.')); } - statusCode += '\n' + Drupal.t('Debugging information follows.'); - var pathText = '\n' + Drupal.t('Path: !uri', { '!uri': uri }); + + statusCode += "\n".concat(Drupal.t('Debugging information follows.')); + var pathText = "\n".concat(Drupal.t('Path: !uri', { + '!uri': uri + })); statusText = ''; try { - statusText = '\n' + Drupal.t('StatusText: !statusText', { + statusText = "\n".concat(Drupal.t('StatusText: !statusText', { '!statusText': $.trim(xmlhttp.statusText) - }); + })); } catch (e) {} responseText = ''; try { - responseText = '\n' + Drupal.t('ResponseText: !responseText', { + responseText = "\n".concat(Drupal.t('ResponseText: !responseText', { '!responseText': $.trim(xmlhttp.responseText) - }); + })); } catch (e) {} responseText = responseText.replace(/<("[^"]*"|'[^']*'|[^'">])*>/gi, ''); responseText = responseText.replace(/[\n]+\s+/g, '\n'); - - var readyStateText = xmlhttp.status === 0 ? '\n' + Drupal.t('ReadyState: !readyState', { + var readyStateText = xmlhttp.status === 0 ? "\n".concat(Drupal.t('ReadyState: !readyState', { '!readyState': xmlhttp.readyState - }) : ''; - - customMessage = customMessage ? '\n' + Drupal.t('CustomMessage: !customMessage', { + })) : ''; + customMessage = customMessage ? "\n".concat(Drupal.t('CustomMessage: !customMessage', { '!customMessage': customMessage - }) : ''; - + })) : ''; this.message = statusCode + pathText + statusText + customMessage + responseText + readyStateText; - this.name = 'AjaxError'; }; @@ -115,7 +121,6 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr var ajax = new Drupal.Ajax(base, element, settings); ajax.instanceIndex = Drupal.ajax.instances.length; Drupal.ajax.instances.push(ajax); - return ajax; }; @@ -130,9 +135,10 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr Drupal.ajax.bindAjaxLinks = function (element) { $(element).find('.use-ajax').once('ajax').each(function (i, ajaxLink) { var $linkElement = $(ajaxLink); - var elementSettings = { - progress: { type: 'throbber' }, + progress: { + type: 'throbber' + }, dialogType: $linkElement.data('dialog-type'), dialog: $linkElement.data('dialog-options'), dialogRenderer: $linkElement.data('dialog-renderer'), @@ -145,6 +151,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr elementSettings.url = href; elementSettings.event = 'click'; } + Drupal.ajax(elementSettings); }); }; @@ -153,7 +160,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr var defaults = { event: element ? 'mousedown' : null, keypress: true, - selector: base ? '#' + base : null, + selector: base ? "#".concat(base) : null, effect: 'none', speed: 'none', method: 'replaceWith', @@ -165,21 +172,16 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr js: true } }; - $.extend(this, defaults, elementSettings); - this.commands = new Drupal.AjaxCommands(); - this.instanceIndex = false; if (this.wrapper) { - this.wrapper = '#' + this.wrapper; + this.wrapper = "#".concat(this.wrapper); } this.element = element; - this.element_settings = elementSettings; - this.elementSettings = elementSettings; if (this.element && this.element.form) { @@ -188,6 +190,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr if (!this.url) { var $element = $(this.element); + if ($element.is('a')) { this.url = $element.attr('href'); } else if (this.element && element.form) { @@ -196,7 +199,6 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr } var originalUrl = this.url; - this.url = this.url.replace(/\/nojs(\/|$|\?|#)/, '/ajax$1'); if (drupalSettings.ajaxTrustedUrl[originalUrl]) { @@ -204,7 +206,6 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr } var ajax = this; - ajax.options = { url: ajax.url, data: ajax.submit, @@ -235,11 +236,11 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }, complete: function complete(xmlhttprequest, status) { ajax.ajaxing = false; + if (status === 'error' || status === 'parsererror') { return ajax.error(xmlhttprequest, ajax.url); } }, - dataType: 'json', type: 'POST' }; @@ -254,18 +255,20 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr ajax.options.url += '&'; } - var wrapper = 'drupal_' + (elementSettings.dialogType || 'ajax'); + var wrapper = "drupal_".concat(elementSettings.dialogType || 'ajax'); + if (elementSettings.dialogRenderer) { - wrapper += '.' + elementSettings.dialogRenderer; + wrapper += ".".concat(elementSettings.dialogRenderer); } - ajax.options.url += Drupal.ajax.WRAPPER_FORMAT + '=' + wrapper; + ajax.options.url += "".concat(Drupal.ajax.WRAPPER_FORMAT, "=").concat(wrapper); $(ajax.element).on(elementSettings.event, function (event) { if (!drupalSettings.ajaxTrustedUrl[ajax.url] && !Drupal.url.isLocal(ajax.url)) { throw new Error(Drupal.t('The callback URL is not local and not trusted: !url', { '!url': ajax.url })); } + return ajax.eventResponse(this, event); }); @@ -281,7 +284,6 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }; Drupal.ajax.WRAPPER_FORMAT = '_wrapper_format'; - Drupal.Ajax.AJAX_REQUEST_PARAMETER = '_drupal_ajax'; Drupal.Ajax.prototype.execute = function () { @@ -291,12 +293,10 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr try { this.beforeSerialize(this.element, this.options); - return $.ajax(this.options); } catch (e) { this.ajaxing = false; - window.alert('An error occurred while attempting to process ' + this.options.url + ': ' + e.message); - + window.alert("An error occurred while attempting to process ".concat(this.options.url, ": ").concat(e.message)); return $.Deferred().reject(); } }; @@ -314,7 +314,6 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr Drupal.Ajax.prototype.eventResponse = function (element, event) { event.preventDefault(); event.stopPropagation(); - var ajax = this; if (ajax.ajaxing) { @@ -334,7 +333,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr } } catch (e) { ajax.ajaxing = false; - window.alert('An error occurred while attempting to process ' + ajax.options.url + ': ' + e.message); + window.alert("An error occurred while attempting to process ".concat(ajax.options.url, ": ").concat(e.message)); } }; @@ -345,7 +344,6 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr } options.data[Drupal.Ajax.AJAX_REQUEST_PARAMETER] = 1; - var pageState = drupalSettings.ajaxPageState; options.data['ajax_page_state[theme]'] = pageState.theme; options.data['ajax_page_state[theme_token]'] = pageState.theme_token; @@ -357,10 +355,9 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr Drupal.Ajax.prototype.beforeSend = function (xmlhttprequest, options) { if (this.$form) { options.extraData = options.extraData || {}; - options.extraData.ajax_iframe_upload = '1'; - var v = $.fieldValue(this.element); + if (v !== null) { options.extraData[this.element.name] = v; } @@ -372,7 +369,8 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr return; } - var progressIndicatorMethod = 'setProgressIndicator' + this.progress.type.slice(0, 1).toUpperCase() + this.progress.type.slice(1).toLowerCase(); + var progressIndicatorMethod = "setProgressIndicator".concat(this.progress.type.slice(0, 1).toUpperCase()).concat(this.progress.type.slice(1).toLowerCase()); + if (progressIndicatorMethod in this && typeof this[progressIndicatorMethod] === 'function') { this[progressIndicatorMethod].call(this); } @@ -381,8 +379,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr Drupal.theme.ajaxProgressThrobber = function (message) { var messageMarkup = typeof message === 'string' ? Drupal.theme('ajaxProgressMessage', message) : ''; var throbber = '<div class="throbber"> </div>'; - - return '<div class="ajax-progress ajax-progress-throbber">' + throbber + messageMarkup + '</div>'; + return "<div class=\"ajax-progress ajax-progress-throbber\">".concat(throbber).concat(messageMarkup, "</div>"); }; Drupal.theme.ajaxProgressIndicatorFullscreen = function () { @@ -390,7 +387,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }; Drupal.theme.ajaxProgressMessage = function (message) { - return '<div class="message">' + message + '</div>'; + return "<div class=\"message\">".concat(message, "</div>"); }; Drupal.theme.ajaxProgressBar = function ($element) { @@ -398,13 +395,16 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }; Drupal.Ajax.prototype.setProgressIndicatorBar = function () { - var progressBar = new Drupal.ProgressBar('ajax-progress-' + this.element.id, $.noop, this.progress.method, $.noop); + var progressBar = new Drupal.ProgressBar("ajax-progress-".concat(this.element.id), $.noop, this.progress.method, $.noop); + if (this.progress.message) { progressBar.setProgress(-1, this.progress.message); } + if (this.progress.url) { progressBar.startMonitoring(this.progress.url, this.progress.interval || 1500); } + this.progress.element = $(Drupal.theme('ajaxProgressBar', progressBar.element)); this.progress.object = progressBar; $(this.element).after(this.progress.element); @@ -426,17 +426,18 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr if (this.progress.element) { $(this.progress.element).remove(); } + if (this.progress.object) { this.progress.object.stopMonitoring(); } - $(this.element).prop('disabled', false); + $(this.element).prop('disabled', false); var elementParents = $(this.element).parents('[data-drupal-selector]').addBack().toArray(); - var focusChanged = false; Object.keys(response || {}).forEach(function (i) { if (response[i].command && _this.commands[response[i].command]) { _this.commands[response[i].command](_this, response[i], status); + if (response[i].command === 'invoke' && response[i].method === 'focus') { focusChanged = true; } @@ -447,7 +448,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr var target = false; for (var n = elementParents.length - 1; !target && n >= 0; n--) { - target = document.querySelector('[data-drupal-selector="' + elementParents[n].getAttribute('data-drupal-selector') + '"]'); + target = document.querySelector("[data-drupal-selector=\"".concat(elementParents[n].getAttribute('data-drupal-selector'), "\"]")); } if (target) { @@ -466,8 +467,8 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr Drupal.Ajax.prototype.getEffect = function (response) { var type = response.effect || this.effect; var speed = response.speed || this.speed; - var effect = {}; + if (type === 'none') { effect.showEffect = 'show'; effect.hideEffect = 'hide'; @@ -477,8 +478,8 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr effect.hideEffect = 'fadeOut'; effect.showSpeed = speed; } else { - effect.showEffect = type + 'Toggle'; - effect.hideEffect = type + 'Toggle'; + effect.showEffect = "".concat(type, "Toggle"); + effect.hideEffect = "".concat(type, "Toggle"); effect.showSpeed = speed; } @@ -489,18 +490,19 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr if (this.progress.element) { $(this.progress.element).remove(); } + if (this.progress.object) { this.progress.object.stopMonitoring(); } $(this.wrapper).show(); - $(this.element).prop('disabled', false); if (this.$form && document.body.contains(this.$form.get(0))) { var settings = this.settings || drupalSettings; Drupal.attachBehaviors(this.$form.get(0), settings); } + throw new Drupal.AjaxError(xmlhttprequest, uri, customMessage); }; @@ -515,16 +517,14 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }; Drupal.AjaxCommands = function () {}; + Drupal.AjaxCommands.prototype = { insert: function insert(ajax, response) { var $wrapper = response.selector ? $(response.selector) : $(ajax.wrapper); var method = response.method || ajax.method; var effect = ajax.getEffect(response); - var settings = response.settings || ajax.settings || drupalSettings; - var $newContent = $($.parseHTML(response.data, document, true)); - $newContent = Drupal.theme('ajaxWrapperNewContent', $newContent, ajax, response); switch (method) { @@ -535,6 +535,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr case 'remove': Drupal.detachBehaviors($wrapper.get(0), settings); break; + default: break; } @@ -546,6 +547,7 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr } var $ajaxNewContent = $newContent.find('.ajax-new-content'); + if ($ajaxNewContent.length) { $ajaxNewContent.hide(); $newContent.show(); @@ -570,10 +572,12 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr }, changed: function changed(ajax, response, status) { var $element = $(response.selector); + if (!$element.hasClass('ajax-changed')) { $element.addClass('ajax-changed'); + if (response.asterisk) { - $element.find(response.asterisk).append(' <abbr class="ajax-changed" title="' + Drupal.t('Changed') + '">*</abbr> '); + $element.find(response.asterisk).append(" <abbr class=\"ajax-changed\" title=\"".concat(Drupal.t('Changed'), "\">*</abbr> ")); } } }, @@ -598,9 +602,9 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr if (ajaxSettings) { Drupal.ajax.expired().forEach(function (instance) { - if (instance.selector) { var selector = instance.selector.replace('#', ''); + if (selector in ajaxSettings) { delete ajaxSettings[selector]; } @@ -625,16 +629,18 @@ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr $(response.selector).find('> tbody > tr:visible, > tr:visible').removeClass('odd even').filter(':even').addClass('odd').end().filter(':odd').addClass('even'); }, update_build_id: function update_build_id(ajax, response, status) { - $('input[name="form_build_id"][value="' + response.old + '"]').val(response.new); + $("input[name=\"form_build_id\"][value=\"".concat(response.old, "\"]")).val(response.new); }, add_css: function add_css(ajax, response, status) { $('head').prepend(response.data); }, message: function message(ajax, response) { var messages = new Drupal.Message(document.querySelector(response.messageWrapperQuerySelector)); + if (response.clearPrevious) { messages.clear(); } + messages.add(response.message, response.messageOptions); } }; diff --git a/core/misc/announce.js b/core/misc/announce.js index a2b34d8302cfc47a77df8c119a7b8789f8ef8597..eacf55b511eb9ed7cb9b8b3140f7b07232e1abab 100644 --- a/core/misc/announce.js +++ b/core/misc/announce.js @@ -6,9 +6,8 @@ **/ (function (Drupal, debounce) { - var liveElement = void 0; + var liveElement; var announcements = []; - Drupal.behaviors.drupalAnnounce = { attach: function attach(context) { if (!liveElement) { @@ -25,9 +24,9 @@ function announce() { var text = []; var priority = 'polite'; - var announcement = void 0; - + var announcement; var il = announcements.length; + for (var i = 0; i < il; i++) { announcement = announcements.pop(); text.unshift(announcement.text); @@ -39,13 +38,9 @@ if (text.length) { liveElement.innerHTML = ''; - liveElement.setAttribute('aria-busy', 'true'); - liveElement.setAttribute('aria-live', priority); - liveElement.innerHTML = text.join('\n'); - liveElement.setAttribute('aria-busy', 'false'); } } @@ -55,7 +50,6 @@ text: text, priority: priority }); - return debounce(announce, 200)(); }; })(Drupal, Drupal.debounce); \ No newline at end of file diff --git a/core/misc/autocomplete.js b/core/misc/autocomplete.js index 52ddfd2ab4825329cc5fbcc77e30d0c4df924bfb..8931d4def79bda55c1f5871ac9c915cecb6d9aa9 100644 --- a/core/misc/autocomplete.js +++ b/core/misc/autocomplete.js @@ -6,17 +6,18 @@ **/ (function ($, Drupal) { - var autocomplete = void 0; + var autocomplete; function autocompleteSplitValues(value) { var result = []; var quote = false; var current = ''; var valueLength = value.length; - var character = void 0; + var character; for (var i = 0; i < valueLength; i++) { character = value.charAt(i); + if (character === '"') { current += character; quote = !quote; @@ -27,6 +28,7 @@ current += character; } } + if (value.length > 0) { result.push($.trim(current)); } @@ -64,12 +66,15 @@ function showSuggestions(suggestions) { var tagged = autocomplete.splitValues(request.term); var il = tagged.length; + for (var i = 0; i < il; i++) { var index = suggestions.indexOf(tagged[i]); + if (index >= 0) { suggestions.splice(index, 1); } } + response(suggestions); } @@ -77,14 +82,18 @@ function sourceCallbackHandler(data) { autocomplete.cache[elementId][term] = data; - showSuggestions(data); } if (autocomplete.cache[elementId].hasOwnProperty(term)) { showSuggestions(autocomplete.cache[elementId][term]); } else { - var options = $.extend({ success: sourceCallbackHandler, data: { q: term } }, autocomplete.ajax); + var options = $.extend({ + success: sourceCallbackHandler, + data: { + q: term + } + }, autocomplete.ajax); $.ajax(this.element.attr('data-autocomplete-path'), options); } } @@ -95,13 +104,9 @@ function selectHandler(event, ui) { var terms = autocomplete.splitValues(event.target.value); - terms.pop(); - terms.push(ui.item.value); - event.target.value = terms.join(', '); - return false; } @@ -112,16 +117,15 @@ Drupal.behaviors.autocomplete = { attach: function attach(context) { var $autocomplete = $(context).find('input.form-autocomplete').once('autocomplete'); + if ($autocomplete.length) { var blacklist = $autocomplete.attr('data-autocomplete-first-character-blacklist'); $.extend(autocomplete.options, { firstCharacterBlacklist: blacklist || '' }); - $autocomplete.autocomplete(autocomplete.options).each(function () { $(this).data('ui-autocomplete')._renderItem = autocomplete.options.renderItem; }); - $autocomplete.on('compositionstart.autocomplete', function () { autocomplete.options.isComposing = true; }); @@ -136,13 +140,10 @@ } } }; - autocomplete = { cache: {}, - splitValues: autocompleteSplitValues, extractLastTerm: extractLastTerm, - options: { source: sourceData, focus: focusHandler, @@ -150,15 +151,12 @@ select: selectHandler, renderItem: renderItem, minLength: 1, - firstCharacterBlacklist: '', - isComposing: false }, ajax: { dataType: 'json' } }; - Drupal.autocomplete = autocomplete; })(jQuery, Drupal); \ No newline at end of file diff --git a/core/misc/batch.js b/core/misc/batch.js index 83ecf5a748357918439b1d5f5be7d4e801875c4a..402b2ea9add9e2fc4b9b95486b9c5d6a6b4f94fa 100644 --- a/core/misc/batch.js +++ b/core/misc/batch.js @@ -10,12 +10,12 @@ attach: function attach(context, settings) { var batch = settings.batch; var $progress = $('[data-drupal-progress]').once('batch'); - var progressBar = void 0; + var progressBar; function updateCallback(progress, status, pb) { if (progress === '100') { pb.stopMonitoring(); - window.location = batch.uri + '&op=finished'; + window.location = "".concat(batch.uri, "&op=finished"); } } @@ -27,10 +27,8 @@ if ($progress.length) { progressBar = new Drupal.ProgressBar('updateprogress', updateCallback, 'POST', errorCallback); progressBar.setProgress(-1, batch.initMessage); - progressBar.startMonitoring(batch.uri + '&op=do', 10); - + progressBar.startMonitoring("".concat(batch.uri, "&op=do"), 10); $progress.empty(); - $progress.append(progressBar.element); } } diff --git a/core/misc/collapse.js b/core/misc/collapse.js index 3c09ab18b77e6e29d7a7621180f8fbc3ffaabec8..bf312b97cea45bb02f7e01a75b34d3e50997fbf0 100644 --- a/core/misc/collapse.js +++ b/core/misc/collapse.js @@ -9,21 +9,19 @@ function CollapsibleDetails(node) { this.$node = $(node); this.$node.data('details', this); + var anchor = window.location.hash && window.location.hash !== '#' ? ", ".concat(window.location.hash) : ''; - var anchor = window.location.hash && window.location.hash !== '#' ? ', ' + window.location.hash : ''; - if (this.$node.find('.error' + anchor).length) { + if (this.$node.find(".error".concat(anchor)).length) { this.$node.attr('open', true); } this.setupSummary(); - this.setupLegend(); } $.extend(CollapsibleDetails, { instances: [] }); - $.extend(CollapsibleDetails.prototype, { setupSummary: function setupSummary() { this.$summary = $('<span class="summary"></span>'); @@ -31,11 +29,8 @@ }, setupLegend: function setupLegend() { var $legend = this.$node.find('> summary'); - $('<span class="details-summary-prefix visually-hidden"></span>').append(this.$node.attr('open') ? Drupal.t('Hide') : Drupal.t('Show')).prependTo($legend).after(document.createTextNode(' ')); - - $('<a class="details-title"></a>').attr('href', '#' + this.$node.attr('id')).prepend($legend.contents()).appendTo($legend); - + $('<a class="details-title"></a>').attr('href', "#".concat(this.$node.attr('id'))).prepend($legend.contents()).appendTo($legend); $legend.append(this.$summary).on('click', $.proxy(this.onLegendClick, this)); }, onLegendClick: function onLegendClick(e) { @@ -44,13 +39,14 @@ }, onSummaryUpdated: function onSummaryUpdated() { var text = $.trim(this.$node.drupalGetSummary()); - this.$summary.html(text ? ' (' + text + ')' : ''); + this.$summary.html(text ? " (".concat(text, ")") : ''); }, toggle: function toggle() { var _this = this; var isOpen = !!this.$node.attr('open'); var $summaryPrefix = this.$node.find('> summary span.details-summary-prefix'); + if (isOpen) { $summaryPrefix.html(Drupal.t('Show')); } else { @@ -62,13 +58,14 @@ }, 0); } }); - Drupal.behaviors.collapse = { attach: function attach(context) { if (Modernizr.details) { return; } + var $collapsibleDetails = $(context).find('details').once('collapse').addClass('collapse-processed'); + if ($collapsibleDetails.length) { for (var i = 0; i < $collapsibleDetails.length; i++) { CollapsibleDetails.instances.push(new CollapsibleDetails($collapsibleDetails[i])); @@ -82,6 +79,5 @@ }; $('body').on('formFragmentLinkClickOrHashChange.details', handleFragmentLinkClickOrHashChange); - Drupal.CollapsibleDetails = CollapsibleDetails; })(jQuery, Modernizr, Drupal); \ No newline at end of file diff --git a/core/misc/date.js b/core/misc/date.js index bd1045665f359600832b7ccbb5151af61a5820e5..4cfa477eb9da24d3a7e00a256c5432a38ce3d8c5 100644 --- a/core/misc/date.js +++ b/core/misc/date.js @@ -4,10 +4,13 @@ * https://www.drupal.org/node/2815083 * @preserve **/ -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + (function ($, Modernizr, Drupal) { Drupal.behaviors.date = { attach: function attach(context, settings) { @@ -15,7 +18,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var dataDatepickerProcessed = 'data-datepicker-is-processed'; var getDateSelector = function getDateSelector(elements) { - return ['[' + dataFieldElements + '="' + elements + '"]', ':not([' + dataDatepickerProcessed + '="' + elements + '"])'].join(''); + return ["[".concat(dataFieldElements, "=\"").concat(elements, "\"]"), ":not([".concat(dataDatepickerProcessed, "=\"").concat(elements, "\"])")].join(''); }; if (Modernizr.inputtypes.date === false) { @@ -23,35 +26,27 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var dateInput = dateTime.querySelector('input[type="date"]'); var timeInput = dateTime.querySelector('input[type="time"]'); var help = Drupal.theme.dateTimeHelp({ - dateId: dateInput.id + '--description', + dateId: "".concat(dateInput.id, "--description"), dateDesc: dateInput.dataset.help, - timeId: timeInput.id + '--description', + timeId: "".concat(timeInput.id, "--description"), timeDesc: timeInput.dataset.help }); - [dateInput, timeInput].forEach(function (input) { - input.setAttribute('aria-describedby', input.id + '--description'); - + input.setAttribute('aria-describedby', "".concat(input.id, "--description")); input.setAttribute('type', 'text'); }); - Drupal.DatepickerPolyfill.attachDescription(dateTime, help); - dateTime.setAttribute(dataDatepickerProcessed, 'date-time'); }); - Array.prototype.forEach.call(document.querySelectorAll(getDateSelector('date')), function (date) { var dateInput = date.querySelector('input[type="date"]'); var help = Drupal.theme.dateHelp({ dateDesc: dateInput.dataset.help }); - - var id = date.id + '--description'; + var id = "".concat(date.id, "--description"); dateInput.setAttribute('aria-describedby', id); - dateInput.setAttribute('type', 'text'); Drupal.DatepickerPolyfill.attachDescription(date, help, id); - date.setAttribute(dataDatepickerProcessed, 'date'); }); } @@ -64,7 +59,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons } _createClass(_class, null, [{ - key: 'attachDescription', + key: "attachDescription", value: function attachDescription(element, help, id) { var description = element.nextElementSibling; @@ -72,17 +67,20 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons description = Drupal.DatepickerPolyfill.descriptionWrapperElement(id); element.parentNode.insertBefore(description, element.nextSibling); } + description.insertAdjacentHTML('beforeend', help); } }, { - key: 'descriptionWrapperElement', + key: "descriptionWrapperElement", value: function descriptionWrapperElement(id) { var description = document.createElement('div'); description.classList.add('description'); description.setAttribute('data-drupal-field-elements', 'description'); + if (id) { description.setAttribute('id', id); } + return description; } }]); @@ -92,7 +90,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons Drupal.theme.dateHelp = function (_ref) { var dateDesc = _ref.dateDesc; - return '<div class="no-native-datepicker-help">' + dateDesc + '</div>'; + return "<div class=\"no-native-datepicker-help\">".concat(dateDesc, "</div>"); }; Drupal.theme.dateTimeHelp = function (_ref2) { @@ -100,6 +98,6 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons timeId = _ref2.timeId, dateDesc = _ref2.dateDesc, timeDesc = _ref2.timeDesc; - return '<div class="no-native-datepicker-help">\n <span id="' + dateId + '">' + dateDesc + '</span> <span id="' + timeId + '">' + timeDesc + '</span>\n </div>'; + return "<div class=\"no-native-datepicker-help\">\n <span id=\"".concat(dateId, "\">").concat(dateDesc, "</span> <span id=\"").concat(timeId, "\">").concat(timeDesc, "</span>\n </div>"); }; })(jQuery, Modernizr, Drupal); \ No newline at end of file diff --git a/core/misc/debounce.js b/core/misc/debounce.js index c2cfe9abe0e9dcbb58eb323d67313b61ae2e8bf2..e33575670c09f14d771906b3000dd4044a82d0b2 100644 --- a/core/misc/debounce.js +++ b/core/misc/debounce.js @@ -6,26 +6,31 @@ **/ Drupal.debounce = function (func, wait, immediate) { - var timeout = void 0; - var result = void 0; + var timeout; + var result; return function () { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var context = this; + var later = function later() { timeout = null; + if (!immediate) { result = func.apply(context, args); } }; + var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); + if (callNow) { result = func.apply(context, args); } + return result; }; }; \ No newline at end of file diff --git a/core/misc/details-aria.js b/core/misc/details-aria.js index f927ab3cb6dbe55bcb4c1cffffff93b30f201fe1..85ed38651df8a16ca6ade7fe3c55d0ed9b7be3cb 100644 --- a/core/misc/details-aria.js +++ b/core/misc/details-aria.js @@ -11,7 +11,6 @@ $('body').once('detailsAria').on('click.detailsAria', 'summary', function (event) { var $summary = $(event.currentTarget); var open = $(event.currentTarget.parentNode).attr('open') === 'open' ? 'false' : 'true'; - $summary.attr({ 'aria-expanded': open, 'aria-pressed': open diff --git a/core/misc/dialog/dialog.ajax.js b/core/misc/dialog/dialog.ajax.js index 3f01d4939496b18cc89805da39f02f6146f56611..2a62d0aa9e28c008780a2a523ba4171de14c0343 100644 --- a/core/misc/dialog/dialog.ajax.js +++ b/core/misc/dialog/dialog.ajax.js @@ -15,6 +15,7 @@ } var $dialog = $context.closest('.ui-dialog-content'); + if ($dialog.length) { if ($dialog.dialog('option', 'drupalAutoButtons')) { $dialog.trigger('dialogButtonsChange'); @@ -26,7 +27,7 @@ var originalClose = settings.dialog.close; settings.dialog.close = function (event) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } @@ -38,7 +39,9 @@ var buttons = []; var $buttons = $dialog.find('.form-actions input[type=submit], .form-actions a.button'); $buttons.each(function () { - var $originalButton = $(this).css({ display: 'none' }); + var $originalButton = $(this).css({ + display: 'none' + }); buttons.push({ text: $originalButton.html() || $originalButton.attr('value'), class: $originalButton.attr('class'), @@ -60,9 +63,11 @@ if (!response.selector) { return false; } + var $dialog = $(response.selector); + if (!$dialog.length) { - $dialog = $('<div id="' + response.selector.replace(/^#/, '') + '" class="ui-front"/>').appendTo('body'); + $dialog = $("<div id=\"".concat(response.selector.replace(/^#/, ''), "\" class=\"ui-front\"/>")).appendTo('body'); } if (!ajax.wrapper) { @@ -82,9 +87,9 @@ var buttons = Drupal.behaviors.dialog.prepareDialogButtons($dialog); $dialog.dialog('option', 'buttons', buttons); }); - response.dialogOptions = response.dialogOptions || {}; var dialog = Drupal.dialog($dialog.get(0), response.dialogOptions); + if (response.dialogOptions.modal) { dialog.showModal(); } else { @@ -96,8 +101,10 @@ Drupal.AjaxCommands.prototype.closeDialog = function (ajax, response, status) { var $dialog = $(response.selector); + if ($dialog.length) { Drupal.dialog($dialog.get(0)).close(); + if (!response.persist) { $dialog.remove(); } @@ -108,6 +115,7 @@ Drupal.AjaxCommands.prototype.setDialogOption = function (ajax, response, status) { var $dialog = $(response.selector); + if ($dialog.length) { $dialog.dialog('option', response.optionName, response.optionValue); } @@ -120,7 +128,6 @@ e.stopPropagation(); }); }); - $(window).on('dialog:beforeclose', function (e, dialog, $element) { $element.off('.dialog'); }); diff --git a/core/misc/dialog/dialog.jquery-ui.js b/core/misc/dialog/dialog.jquery-ui.js index 246855c96df95f7c262df5e802538dd5a4810d10..2077e23ed7829b493a0ca552449f61278662ddc0 100644 --- a/core/misc/dialog/dialog.jquery-ui.js +++ b/core/misc/dialog/dialog.jquery-ui.js @@ -13,9 +13,10 @@ }, _createButtons: function _createButtons() { var opts = this.options; - var primaryIndex = void 0; - var index = void 0; + var primaryIndex; + var index; var il = opts.buttons.length; + for (index = 0; index < il; index++) { if (opts.buttons[index].primary && opts.buttons[index].primary === true) { primaryIndex = index; @@ -23,8 +24,11 @@ break; } } + this._super(); + var $buttons = this.uiButtonSet.children().addClass(opts.buttonClass); + if (typeof primaryIndex !== 'undefined') { $buttons.eq(index).addClass(opts.buttonPrimaryClass); } diff --git a/core/misc/dialog/dialog.js b/core/misc/dialog/dialog.js index 9bd8b554e4e1e590fcf46623779be18f03fd0207..979fdeff67de6dc82c2aa8c217a03bb311d91fbc 100644 --- a/core/misc/dialog/dialog.js +++ b/core/misc/dialog/dialog.js @@ -9,7 +9,6 @@ drupalSettings.dialog = { autoOpen: true, dialogClass: '', - buttonClass: 'button', buttonPrimaryClass: 'button--primary', close: function close(event) { @@ -19,7 +18,7 @@ }; Drupal.dialog = function (element, options) { - var undef = void 0; + var undef; var $element = $(element); var dialog = { open: false, @@ -28,7 +27,6 @@ function openDialog(settings) { settings = $.extend({}, drupalSettings.dialog, options, settings); - $(window).trigger('dialog:beforecreate', [dialog, $element, settings]); $element.dialog(settings); dialog.open = true; @@ -44,13 +42,18 @@ } dialog.show = function () { - openDialog({ modal: false }); + openDialog({ + modal: false + }); }; + dialog.showModal = function () { - openDialog({ modal: true }); + openDialog({ + modal: true + }); }; - dialog.close = closeDialog; + dialog.close = closeDialog; return dialog; }; })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/misc/dialog/dialog.position.js b/core/misc/dialog/dialog.position.js index 843bf3b249ef95b78c5b720bdf881a874ae69787..552e1c596f9fdb6dc0ffcd1469df98f4c5bcf431 100644 --- a/core/misc/dialog/dialog.position.js +++ b/core/misc/dialog/dialog.position.js @@ -6,17 +6,19 @@ **/ (function ($, Drupal, drupalSettings, debounce, displace) { - drupalSettings.dialog = $.extend({ autoResize: true, maxHeight: '95%' }, drupalSettings.dialog); + drupalSettings.dialog = $.extend({ + autoResize: true, + maxHeight: '95%' + }, drupalSettings.dialog); function resetPosition(options) { var offsets = displace.offsets; var left = offsets.left - offsets.right; var top = offsets.top - offsets.bottom; - - var leftString = (left > 0 ? '+' : '-') + Math.abs(Math.round(left / 2)) + 'px'; - var topString = (top > 0 ? '+' : '-') + Math.abs(Math.round(top / 2)) + 'px'; + var leftString = "".concat((left > 0 ? '+' : '-') + Math.abs(Math.round(left / 2)), "px"); + var topString = "".concat((top > 0 ? '+' : '-') + Math.abs(Math.round(top / 2)), "px"); options.position = { - my: 'center' + (left !== 0 ? leftString : '') + ' center' + (top !== 0 ? topString : ''), + my: "center".concat(left !== 0 ? leftString : '', " center").concat(top !== 0 ? topString : ''), of: window }; return options; @@ -26,12 +28,14 @@ var positionOptions = ['width', 'height', 'minWidth', 'minHeight', 'maxHeight', 'maxWidth', 'position']; var adjustedOptions = {}; var windowHeight = $(window).height(); - var option = void 0; - var optionValue = void 0; - var adjustedValue = void 0; + var option; + var optionValue; + var adjustedValue; + for (var n = 0; n < positionOptions.length; n++) { option = positionOptions[n]; optionValue = event.data.settings[option]; + if (optionValue) { if (typeof optionValue === 'string' && /%$/.test(optionValue) && /height/i.test(option)) { windowHeight -= displace.offsets.top + displace.offsets.bottom; @@ -40,6 +44,7 @@ if (option === 'height' && event.data.$element.parent().outerHeight() < adjustedValue) { adjustedValue = 'auto'; } + adjustedOptions[option] = adjustedValue; } } @@ -48,15 +53,23 @@ if (!event.data.settings.modal) { adjustedOptions = resetPosition(adjustedOptions); } + event.data.$element.dialog('option', adjustedOptions).trigger('dialogContentResize'); } $(window).on({ 'dialog:aftercreate': function dialogAftercreate(event, dialog, $element, settings) { var autoResize = debounce(resetSize, 20); - var eventData = { settings: settings, $element: $element }; + var eventData = { + settings: settings, + $element: $element + }; + if (settings.autoResize === true || settings.autoResize === 'true') { - $element.dialog('option', { resizable: false, draggable: false }).dialog('widget').css('position', 'fixed'); + $element.dialog('option', { + resizable: false, + draggable: false + }).dialog('widget').css('position', 'fixed'); $(window).on('resize.dialogResize scroll.dialogResize', eventData, autoResize).trigger('resize.dialogResize'); $(document).on('drupalViewportOffsetChange.dialogResize', eventData, autoResize); } diff --git a/core/misc/dialog/off-canvas.js b/core/misc/dialog/off-canvas.js index 85498b7c5112abf48e50d4d267723700744ef8b9..b7be0171f0badd320e31cd369f70889c2665755d 100644 --- a/core/misc/dialog/off-canvas.js +++ b/core/misc/dialog/off-canvas.js @@ -8,13 +8,9 @@ (function ($, Drupal, debounce, displace) { Drupal.offCanvas = { position: null, - minimumHeight: 30, - minDisplaceWidth: 768, - $mainCanvasWrapper: $('[data-off-canvas-main-canvas]'), - isOffCanvas: function isOffCanvas($element) { return $element.is('#drupal-off-canvas'); }, @@ -26,17 +22,13 @@ beforeCreate: function beforeCreate(_ref) { var settings = _ref.settings, $element = _ref.$element; - Drupal.offCanvas.removeOffCanvasEvents($element); - $('body').addClass('js-off-canvas-dialog-open'); - settings.position = { my: 'left top', - at: Drupal.offCanvas.getEdge() + ' top', + at: "".concat(Drupal.offCanvas.getEdge(), " top"), of: window }; - var position = settings.drupalOffCanvasPosition; var height = position === 'side' ? $(window).height() : settings.height; var width = position === 'side' ? settings.width : '100%'; @@ -45,43 +37,38 @@ }, beforeClose: function beforeClose(_ref2) { var $element = _ref2.$element; - $('body').removeClass('js-off-canvas-dialog-open'); - Drupal.offCanvas.removeOffCanvasEvents($element); Drupal.offCanvas.resetPadding(); }, afterCreate: function afterCreate(_ref3) { var $element = _ref3.$element, settings = _ref3.settings; - - var eventData = { settings: settings, $element: $element, offCanvasDialog: this }; - + var eventData = { + settings: settings, + $element: $element, + offCanvasDialog: this + }; $element.on('dialogContentResize.off-canvas', eventData, Drupal.offCanvas.handleDialogResize).on('dialogContentResize.off-canvas', eventData, Drupal.offCanvas.bodyPadding); - - Drupal.offCanvas.getContainer($element).attr('data-offset-' + Drupal.offCanvas.getEdge(), ''); - + Drupal.offCanvas.getContainer($element).attr("data-offset-".concat(Drupal.offCanvas.getEdge()), ''); $(window).on('resize.off-canvas', eventData, debounce(Drupal.offCanvas.resetSize, 100)).trigger('resize.off-canvas'); }, render: function render(_ref4) { var settings = _ref4.settings; - $('.ui-dialog-off-canvas, .ui-dialog-off-canvas .ui-dialog-titlebar').toggleClass('ui-dialog-empty-title', !settings.title); }, handleDialogResize: function handleDialogResize(event) { var $element = event.data.$element; var $container = Drupal.offCanvas.getContainer($element); - var $offsets = $container.find('> :not(#drupal-off-canvas, .ui-resizable-handle)'); var offset = 0; - - $element.css({ height: 'auto' }); + $element.css({ + height: 'auto' + }); var modalHeight = $container.height(); - $offsets.each(function (i, e) { offset += $(e).outerHeight(); }); - var scrollOffset = $element.outerHeight() - $element.height(); $element.height(modalHeight - offset - scrollOffset); }, @@ -91,57 +78,55 @@ var position = event.data.settings.drupalOffCanvasPosition; if (Drupal.offCanvas.position && Drupal.offCanvas.position !== position) { - container.removeAttr('data-offset-' + Drupal.offCanvas.position); + container.removeAttr("data-offset-".concat(Drupal.offCanvas.position)); } if (position === 'top') { - $element.css('min-height', Drupal.offCanvas.minimumHeight + 'px'); + $element.css('min-height', "".concat(Drupal.offCanvas.minimumHeight, "px")); } displace(); - var offsets = displace.offsets; - - var topPosition = position === 'side' && offsets.top !== 0 ? '+' + offsets.top : ''; + var topPosition = position === 'side' && offsets.top !== 0 ? "+".concat(offsets.top) : ''; var adjustedOptions = { position: { - my: Drupal.offCanvas.getEdge() + ' top', - at: Drupal.offCanvas.getEdge() + ' top' + topPosition, + my: "".concat(Drupal.offCanvas.getEdge(), " top"), + at: "".concat(Drupal.offCanvas.getEdge(), " top").concat(topPosition), of: window } }; - - var height = position === 'side' ? $(window).height() - (offsets.top + offsets.bottom) + 'px' : event.data.settings.height; + var height = position === 'side' ? "".concat($(window).height() - (offsets.top + offsets.bottom), "px") : event.data.settings.height; container.css({ position: 'fixed', height: height }); - $element.dialog('option', adjustedOptions).trigger('dialogContentResize.off-canvas'); - Drupal.offCanvas.position = position; }, bodyPadding: function bodyPadding(event) { var position = event.data.settings.drupalOffCanvasPosition; + if (position === 'side' && $('body').outerWidth() < Drupal.offCanvas.minDisplaceWidth) { return; } + Drupal.offCanvas.resetPadding(); var $element = event.data.$element; var $container = Drupal.offCanvas.getContainer($element); var $mainCanvasWrapper = Drupal.offCanvas.$mainCanvasWrapper; - var width = $container.outerWidth(); - var mainCanvasPadding = $mainCanvasWrapper.css('padding-' + Drupal.offCanvas.getEdge()); + var mainCanvasPadding = $mainCanvasWrapper.css("padding-".concat(Drupal.offCanvas.getEdge())); + if (position === 'side' && width !== mainCanvasPadding) { - $mainCanvasWrapper.css('padding-' + Drupal.offCanvas.getEdge(), width + 'px'); - $container.attr('data-offset-' + Drupal.offCanvas.getEdge(), width); + $mainCanvasWrapper.css("padding-".concat(Drupal.offCanvas.getEdge()), "".concat(width, "px")); + $container.attr("data-offset-".concat(Drupal.offCanvas.getEdge()), width); displace(); } var height = $container.outerHeight(); + if (position === 'top') { - $mainCanvasWrapper.css('padding-top', height + 'px'); + $mainCanvasWrapper.css('padding-top', "".concat(height, "px")); $container.attr('data-offset-top', height); displace(); } @@ -153,29 +138,42 @@ return document.documentElement.dir === 'rtl' ? 'left' : 'right'; }, resetPadding: function resetPadding() { - Drupal.offCanvas.$mainCanvasWrapper.css('padding-' + Drupal.offCanvas.getEdge(), 0); + Drupal.offCanvas.$mainCanvasWrapper.css("padding-".concat(Drupal.offCanvas.getEdge()), 0); Drupal.offCanvas.$mainCanvasWrapper.css('padding-top', 0); displace(); } }; - Drupal.behaviors.offCanvasEvents = { attach: function attach() { $(window).once('off-canvas').on({ 'dialog:beforecreate': function dialogBeforecreate(event, dialog, $element, settings) { if (Drupal.offCanvas.isOffCanvas($element)) { - Drupal.offCanvas.beforeCreate({ dialog: dialog, $element: $element, settings: settings }); + Drupal.offCanvas.beforeCreate({ + dialog: dialog, + $element: $element, + settings: settings + }); } }, 'dialog:aftercreate': function dialogAftercreate(event, dialog, $element, settings) { if (Drupal.offCanvas.isOffCanvas($element)) { - Drupal.offCanvas.render({ dialog: dialog, $element: $element, settings: settings }); - Drupal.offCanvas.afterCreate({ $element: $element, settings: settings }); + Drupal.offCanvas.render({ + dialog: dialog, + $element: $element, + settings: settings + }); + Drupal.offCanvas.afterCreate({ + $element: $element, + settings: settings + }); } }, 'dialog:beforeclose': function dialogBeforeclose(event, dialog, $element) { if (Drupal.offCanvas.isOffCanvas($element)) { - Drupal.offCanvas.beforeClose({ dialog: dialog, $element: $element }); + Drupal.offCanvas.beforeClose({ + dialog: dialog, + $element: $element + }); } } }); diff --git a/core/misc/displace.js b/core/misc/displace.js index 9192fdb3a1ca46061e969d76c6ed1943d638771f..e0cef041d81ebd916bfc2b083caf75990f1a5dff 100644 --- a/core/misc/displace.js +++ b/core/misc/displace.js @@ -18,10 +18,8 @@ var documentElement = document.documentElement; var displacement = 0; var horizontal = edge === 'left' || edge === 'right'; - var placement = $el.offset()[horizontal ? 'left' : 'top']; - - placement -= window['scroll' + (horizontal ? 'X' : 'Y')] || document.documentElement['scroll' + (horizontal ? 'Left' : 'Top')] || 0; + placement -= window["scroll".concat(horizontal ? 'X' : 'Y')] || document.documentElement["scroll".concat(horizontal ? 'Left' : 'Top')] || 0; switch (edge) { case 'top': @@ -43,13 +41,15 @@ default: displacement = 0; } + return displacement; } function calculateOffset(edge) { var edgeOffset = 0; - var displacingElements = document.querySelectorAll('[data-offset-' + edge + ']'); + var displacingElements = document.querySelectorAll("[data-offset-".concat(edge, "]")); var n = displacingElements.length; + for (var i = 0; i < n; i++) { var el = displacingElements[i]; @@ -57,7 +57,7 @@ continue; } - var displacement = parseInt(el.getAttribute('data-offset-' + edge), 10); + var displacement = parseInt(el.getAttribute("data-offset-".concat(edge)), 10); if (isNaN(displacement)) { displacement = getRawOffset(el, edge); @@ -81,9 +81,11 @@ function displace(broadcast) { offsets = calculateOffsets(); Drupal.displace.offsets = offsets; + if (typeof broadcast === 'undefined' || broadcast) { $(document).trigger('drupalViewportOffsetChange', offsets); } + return offsets; } @@ -92,16 +94,14 @@ if (this.displaceProcessed) { return; } - this.displaceProcessed = true; + this.displaceProcessed = true; $(window).on('resize.drupalDisplace', debounce(displace, 200)); } }; - Drupal.displace = displace; $.extend(Drupal.displace, { offsets: offsets, - calculateOffset: calculateOffset }); })(jQuery, Drupal, Drupal.debounce); \ No newline at end of file diff --git a/core/misc/dropbutton/dropbutton.js b/core/misc/dropbutton/dropbutton.js index 166eab5845258c349aca0308457eef476681e3ef..54b8a627605c239209caa3dadc1bb7b23dfff603 100644 --- a/core/misc/dropbutton/dropbutton.js +++ b/core/misc/dropbutton/dropbutton.js @@ -7,30 +7,23 @@ (function ($, Drupal) { function DropButton(dropbutton, settings) { - var options = $.extend({ title: Drupal.t('List additional actions') }, settings); + var options = $.extend({ + title: Drupal.t('List additional actions') + }, settings); var $dropbutton = $(dropbutton); - this.$dropbutton = $dropbutton; - this.$list = $dropbutton.find('.dropbutton'); - this.$actions = this.$list.find('li').addClass('dropbutton-action'); if (this.$actions.length > 1) { var $primary = this.$actions.slice(0, 1); - var $secondary = this.$actions.slice(1); $secondary.addClass('secondary-action'); - $primary.after(Drupal.theme('dropbuttonToggle', options)); - this.$dropbutton.addClass('dropbutton-multiple').on({ 'mouseleave.dropbutton': $.proxy(this.hoverOut, this), - 'mouseenter.dropbutton': $.proxy(this.hoverIn, this), - 'focusout.dropbutton': $.proxy(this.focusOut, this), - 'focusin.dropbutton': $.proxy(this.focusIn, this) }); } else { @@ -46,24 +39,25 @@ Drupal.behaviors.dropButton = { attach: function attach(context, settings) { var $dropbuttons = $(context).find('.dropbutton-wrapper').once('dropbutton'); + if ($dropbuttons.length) { var $body = $('body').once('dropbutton-click'); + if ($body.length) { $body.on('click', '.dropbutton-toggle', dropbuttonClickHandler); } var il = $dropbuttons.length; + for (var i = 0; i < il; i++) { DropButton.dropbuttons.push(new DropButton($dropbuttons[i], settings.dropbutton)); } } } }; - $.extend(DropButton, { dropbuttons: [] }); - $.extend(DropButton.prototype, { toggle: function toggle(show) { var isBool = typeof show === 'boolean'; @@ -91,12 +85,10 @@ this.hoverIn.call(this, e); } }); - $.extend(Drupal.theme, { dropbuttonToggle: function dropbuttonToggle(options) { - return '<li class="dropbutton-toggle"><button type="button"><span class="dropbutton-arrow"><span class="visually-hidden">' + options.title + '</span></span></button></li>'; + return "<li class=\"dropbutton-toggle\"><button type=\"button\"><span class=\"dropbutton-arrow\"><span class=\"visually-hidden\">".concat(options.title, "</span></span></button></li>"); } }); - Drupal.DropButton = DropButton; })(jQuery, Drupal); \ No newline at end of file diff --git a/core/misc/drupal.init.js b/core/misc/drupal.init.js index bff94c092b9f22e33380d9608db32329af0a14ef..4e58fc5e56f99c55950f08c3f0171a780043742b 100644 --- a/core/misc/drupal.init.js +++ b/core/misc/drupal.init.js @@ -20,6 +20,7 @@ document.documentElement.className += ' js'; callback(); document.removeEventListener('DOMContentLoaded', listener); }; + document.addEventListener('DOMContentLoaded', listener); } }; diff --git a/core/misc/drupal.js b/core/misc/drupal.js index 661d511eef5762f72fe2e1a9ed93c284c3f855b6..a1debf251d9bba385975f02ca3dbeee84e753672 100644 --- a/core/misc/drupal.js +++ b/core/misc/drupal.js @@ -5,7 +5,10 @@ * @preserve **/ -window.Drupal = { behaviors: {}, locale: {} }; +window.Drupal = { + behaviors: {}, + locale: {} +}; (function (Drupal, drupalSettings, drupalTranslations, console, Proxy, Reflect) { Drupal.throwError = function (error) { @@ -18,7 +21,6 @@ window.Drupal = { behaviors: {}, locale: {} }; context = context || document; settings = settings || drupalSettings; var behaviors = Drupal.behaviors; - Object.keys(behaviors || {}).forEach(function (i) { if (typeof behaviors[i].attach === 'function') { try { @@ -35,7 +37,6 @@ window.Drupal = { behaviors: {}, locale: {} }; settings = settings || drupalSettings; trigger = trigger || 'unload'; var behaviors = Drupal.behaviors; - Object.keys(behaviors || {}).forEach(function (i) { if (typeof behaviors[i].detach === 'function') { try { @@ -54,7 +55,6 @@ window.Drupal = { behaviors: {}, locale: {} }; Drupal.formatString = function (str, args) { var processedArgs = {}; - Object.keys(args || {}).forEach(function (key) { switch (key.charAt(0)) { case '@': @@ -70,7 +70,6 @@ window.Drupal = { behaviors: {}, locale: {} }; break; } }); - return Drupal.stringReplace(str, processedArgs, null); }; @@ -81,7 +80,6 @@ window.Drupal = { behaviors: {}, locale: {} }; if (!Array.isArray(keys)) { keys = Object.keys(args || {}); - keys.sort(function (a, b) { return a.length - b.length; }); @@ -114,6 +112,7 @@ window.Drupal = { behaviors: {}, locale: {} }; if (args) { str = Drupal.formatString(str, args); } + return str; }; @@ -129,7 +128,6 @@ window.Drupal = { behaviors: {}, locale: {} }; } catch (e) {} urlParsingNode.setAttribute('href', url); - return urlParsingNode.cloneNode(false).href; }; @@ -140,22 +138,23 @@ window.Drupal = { behaviors: {}, locale: {} }; if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) { protocol = 'https:'; } - var baseUrl = protocol + '//' + window.location.host + drupalSettings.path.baseUrl.slice(0, -1); + + var baseUrl = "".concat(protocol, "//").concat(window.location.host).concat(drupalSettings.path.baseUrl.slice(0, -1)); try { absoluteUrl = decodeURIComponent(absoluteUrl); } catch (e) {} + try { baseUrl = decodeURIComponent(baseUrl); } catch (e) {} - return absoluteUrl === baseUrl || absoluteUrl.indexOf(baseUrl + '/') === 0; + return absoluteUrl === baseUrl || absoluteUrl.indexOf("".concat(baseUrl, "/")) === 0; }; Drupal.formatPlural = function (count, singular, plural, args, options) { args = args || {}; args['@count'] = count; - var pluralDelimiter = drupalSettings.pluralDelimiter; var translations = Drupal.t(singular + pluralDelimiter + plural, args, options).split(pluralDelimiter); var index = 0; @@ -177,7 +176,7 @@ window.Drupal = { behaviors: {}, locale: {} }; var message = _ref.message; if (drupalSettings.suppressDeprecationErrors === false && typeof console !== 'undefined' && console.warn) { - console.warn('[Deprecation] ' + message); + console.warn("[Deprecation] ".concat(message)); } }; @@ -192,13 +191,16 @@ window.Drupal = { behaviors: {}, locale: {} }; return new Proxy(target, { get: function get(target, key) { - for (var _len = arguments.length, rest = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - rest[_key - 2] = arguments[_key]; + if (key === deprecatedProperty) { + Drupal.deprecationError({ + message: message + }); } - if (key === deprecatedProperty) { - Drupal.deprecationError({ message: message }); + for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + rest[_key - 2] = arguments[_key]; } + return Reflect.get.apply(Reflect, [target, key].concat(rest)); } }); @@ -208,7 +210,7 @@ window.Drupal = { behaviors: {}, locale: {} }; if (func in Drupal.theme) { var _Drupal$theme; - for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } @@ -217,6 +219,6 @@ window.Drupal = { behaviors: {}, locale: {} }; }; Drupal.theme.placeholder = function (str) { - return '<em class="placeholder">' + Drupal.checkPlain(str) + '</em>'; + return "<em class=\"placeholder\">".concat(Drupal.checkPlain(str), "</em>"); }; })(Drupal, window.drupalSettings, window.drupalTranslations, window.console, window.Proxy, window.Reflect); \ No newline at end of file diff --git a/core/misc/drupalSettingsLoader.js b/core/misc/drupalSettingsLoader.js index c854bca27310209f89960cc773f3c50e2f682f16..27450b84d91d7305aa2f5a76fcc13d68a51c7f26 100644 --- a/core/misc/drupalSettingsLoader.js +++ b/core/misc/drupalSettingsLoader.js @@ -7,7 +7,6 @@ (function () { var settingsElement = document.querySelector('head > script[type="application/json"][data-drupal-selector="drupal-settings-json"], body > script[type="application/json"][data-drupal-selector="drupal-settings-json"]'); - window.drupalSettings = {}; if (settingsElement !== null) { diff --git a/core/misc/entity-form.js b/core/misc/entity-form.js index d19839f2eec4f94470170be0eb6c2d3d065ba9cc..af450a020248fa0cf7395f6d4a0e5cf41c66f335 100644 --- a/core/misc/entity-form.js +++ b/core/misc/entity-form.js @@ -19,10 +19,9 @@ return Drupal.t('No revision'); }); - $context.find('details.entity-translation-options').drupalSetSummary(function (context) { var $translationContext = $(context); - var translate = void 0; + var translate; var $checkbox = $translationContext.find('.js-form-item-translation-translate input'); if ($checkbox.length) { diff --git a/core/misc/form.js b/core/misc/form.js index 88226a51569815ddb5a32f73a0043a0acaae9c90..d59bd0baeffaea9ef57643a98268f03e1b9e2ed7 100644 --- a/core/misc/form.js +++ b/core/misc/form.js @@ -16,6 +16,7 @@ if (typeof callback !== 'function') { var val = callback; + callback = function callback() { return val; }; @@ -32,6 +33,7 @@ var $form = $(e.currentTarget); var formValues = $form.serialize(); var previousValues = $form.attr('data-drupal-form-submit-last'); + if (previousValues === formValues) { e.preventDefault(); } else { @@ -51,7 +53,6 @@ var $fieldList = $(form).find('[name]').map(function (index, element) { return element.getAttribute('id'); }); - return $.makeArray($fieldList); } @@ -60,7 +61,7 @@ var $context = $(context); var contextIsForm = $context.is('form'); var $forms = (contextIsForm ? $context : $context.find('form')).once('form-updated'); - var formFields = void 0; + var formFields; if ($forms.length) { $.makeArray($forms).forEach(function (form) { @@ -69,7 +70,6 @@ triggerFormUpdated(event.target); }, 300); formFields = fieldsList(form).join(','); - form.setAttribute('data-drupal-form-fields', formFields); $(form).on(events, eventHandler); }); @@ -77,7 +77,6 @@ if (contextIsForm) { formFields = fieldsList(context).join(','); - var currentFields = $(context).attr('data-drupal-form-fields'); if (formFields !== currentFields) { @@ -88,8 +87,10 @@ detach: function detach(context, settings, trigger) { var $context = $(context); var contextIsForm = $context.is('form'); + if (trigger === 'unload') { var $forms = (contextIsForm ? $context : $context.find('form')).removeOnce('form-updated'); + if ($forms.length) { $.makeArray($forms).forEach(function (form) { form.removeAttribute('data-drupal-form-fields'); @@ -99,26 +100,29 @@ } } }; - Drupal.behaviors.fillUserInfoFromBrowser = { attach: function attach(context, settings) { var userInfo = ['name', 'mail', 'homepage']; var $forms = $('[data-user-info-from-browser]').once('user-info-from-browser'); + if ($forms.length) { userInfo.forEach(function (info) { - var $element = $forms.find('[name=' + info + ']'); - var browserData = localStorage.getItem('Drupal.visitor.' + info); + var $element = $forms.find("[name=".concat(info, "]")); + var browserData = localStorage.getItem("Drupal.visitor.".concat(info)); var emptyOrDefault = $element.val() === '' || $element.attr('data-drupal-default-value') === $element.val(); + if ($element.length && emptyOrDefault && browserData) { $element.val(browserData); } }); } + $forms.on('submit', function () { userInfo.forEach(function (info) { - var $element = $forms.find('[name=' + info + ']'); + var $element = $forms.find("[name=".concat(info, "]")); + if ($element.length) { - localStorage.setItem('Drupal.visitor.' + info, $element.val()); + localStorage.setItem("Drupal.visitor.".concat(info), $element.val()); } }); }); @@ -126,17 +130,19 @@ }; var handleFragmentLinkClickOrHashChange = function handleFragmentLinkClickOrHashChange(e) { - var url = void 0; + var url; + if (e.type === 'click') { url = e.currentTarget.location ? e.currentTarget.location : e.currentTarget; } else { url = window.location; } + var hash = url.hash.substr(1); + if (hash) { - var $target = $('#' + hash); + var $target = $("#".concat(hash)); $('body').trigger('formFragmentLinkClickOrHashChange', [$target]); - setTimeout(function () { return $target.trigger('focus'); }, 300); @@ -144,8 +150,6 @@ }; var debouncedHandleFragmentLinkClickOrHashChange = debounce(handleFragmentLinkClickOrHashChange, 300, true); - $(window).on('hashchange.form-fragment', debouncedHandleFragmentLinkClickOrHashChange); - $(document).on('click.form-fragment', 'a[href*="#"]', debouncedHandleFragmentLinkClickOrHashChange); })(jQuery, Drupal, Drupal.debounce); \ No newline at end of file diff --git a/core/misc/machine-name.js b/core/misc/machine-name.js index 636250f9762b38019c5dab0d73cd63c6c0b3d0ae..c065e70a863bbf31f802b2d89e84e5a93e870e98 100644 --- a/core/misc/machine-name.js +++ b/core/misc/machine-name.js @@ -25,7 +25,6 @@ var data = e.data; var options = data.options; var baseValue = $(e.target).val(); - var rx = new RegExp(options.replace_pattern, 'g'); var expected = baseValue.toLowerCase().replace(rx, options.replace).substr(0, options.maxlength); @@ -38,6 +37,7 @@ clearTimeout(timeout); timeout = null; } + if (baseValue.toLowerCase() !== expected) { timeout = setTimeout(function () { xhr = self.transliterate(baseValue, options).done(function (machine) { @@ -52,7 +52,6 @@ Object.keys(settings.machineName).forEach(function (sourceId) { var machine = ''; var options = settings.machineName[sourceId]; - var $source = $context.find(sourceId).addClass('machine-name-source').once('machine-name'); var $target = $context.find(options.target).addClass('machine-name-target'); var $suffix = $context.find(options.suffix); @@ -67,7 +66,6 @@ } options.maxlength = $target.attr('maxlength'); - $wrapper.addClass('visually-hidden'); if ($target.is(':disabled') || $target.val() !== '') { @@ -76,11 +74,13 @@ machine = self.transliterate($source.val(), options); } - var $preview = $('<span class="machine-name-value">' + options.field_prefix + Drupal.checkPlain(machine) + options.field_suffix + '</span>'); + var $preview = $("<span class=\"machine-name-value\">".concat(options.field_prefix).concat(Drupal.checkPlain(machine)).concat(options.field_suffix, "</span>")); $suffix.empty(); + if (options.label) { - $suffix.append('<span class="machine-name-label">' + options.label + ': </span>'); + $suffix.append("<span class=\"machine-name-label\">".concat(options.label, ": </span>")); } + $suffix.append($preview); if ($target.is(':disabled')) { @@ -95,8 +95,7 @@ $preview: $preview, options: options }; - - var $link = $('<span class="admin-link"><button type="button" class="link">' + Drupal.t('Edit') + '</button></span>').on('click', eventData, clickEditHandler); + var $link = $("<span class=\"admin-link\"><button type=\"button\" class=\"link\">".concat(Drupal.t('Edit'), "</button></span>")).on('click', eventData, clickEditHandler); $suffix.append($link); if ($target.val() === '') { @@ -114,6 +113,7 @@ data.$target.val(machine); data.$preview.html(settings.field_prefix + Drupal.checkPlain(machine) + settings.field_suffix); } + data.$suffix.show(); } else { data.$suffix.hide(); diff --git a/core/misc/message.js b/core/misc/message.js index d9bbe3e1414afc57196da6e04144f38c8f42d0ae..2ed9f113bd35367a0908856dbeef879fc947eeb6 100644 --- a/core/misc/message.js +++ b/core/misc/message.js @@ -4,10 +4,13 @@ * https://www.drupal.org/node/2815083 * @preserve **/ -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + (function (Drupal) { Drupal.Message = function () { function _class() { @@ -23,7 +26,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons } _createClass(_class, [{ - key: 'add', + key: "add", value: function add(message) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; @@ -36,31 +39,30 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons } Drupal.Message.announce(message, options); - - options.id = options.id ? String(options.id) : options.type + '-' + Math.random().toFixed(15).replace('0.', ''); + options.id = options.id ? String(options.id) : "".concat(options.type, "-").concat(Math.random().toFixed(15).replace('0.', '')); if (!Drupal.Message.getMessageTypeLabels().hasOwnProperty(options.type)) { var type = options.type; - - throw new Error('The message type, ' + type + ', is not present in Drupal.Message.getMessageTypeLabels().'); + throw new Error("The message type, ".concat(type, ", is not present in Drupal.Message.getMessageTypeLabels().")); } - this.messageWrapper.appendChild(Drupal.theme('message', { text: message }, options)); - + this.messageWrapper.appendChild(Drupal.theme('message', { + text: message + }, options)); return options.id; } }, { - key: 'select', + key: "select", value: function select(id) { - return this.messageWrapper.querySelector('[data-drupal-message-id^="' + id + '"]'); + return this.messageWrapper.querySelector("[data-drupal-message-id^=\"".concat(id, "\"]")); } }, { - key: 'remove', + key: "remove", value: function remove(id) { return this.messageWrapper.removeChild(this.select(id)); } }, { - key: 'clear', + key: "clear", value: function clear() { var _this = this; @@ -69,19 +71,21 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons }); } }], [{ - key: 'defaultWrapper', + key: "defaultWrapper", value: function defaultWrapper() { var wrapper = document.querySelector('[data-drupal-messages]'); + if (!wrapper) { wrapper = document.querySelector('[data-drupal-messages-fallback]'); wrapper.removeAttribute('data-drupal-messages-fallback'); wrapper.setAttribute('data-drupal-messages', ''); wrapper.classList.remove('hidden'); } + return wrapper.innerHTML === '' ? Drupal.Message.messageInternalWrapper(wrapper) : wrapper.firstElementChild; } }, { - key: 'getMessageTypeLabels', + key: "getMessageTypeLabels", value: function getMessageTypeLabels() { return { status: Drupal.t('Status message'), @@ -90,7 +94,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons }; } }, { - key: 'announce', + key: "announce", value: function announce(message, options) { if (!options.priority && (options.type === 'warning' || options.type === 'error')) { options.priority = 'assertive'; @@ -101,7 +105,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons } } }, { - key: 'messageInternalWrapper', + key: "messageInternalWrapper", value: function messageInternalWrapper(messageWrapper) { var innerWrapper = document.createElement('div'); innerWrapper.setAttribute('class', 'messages__wrapper'); @@ -117,19 +121,14 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons var text = _ref.text; var type = _ref2.type, id = _ref2.id; - var messagesTypes = Drupal.Message.getMessageTypeLabels(); var messageWrapper = document.createElement('div'); - - messageWrapper.setAttribute('class', 'messages messages--' + type); + messageWrapper.setAttribute('class', "messages messages--".concat(type)); messageWrapper.setAttribute('role', type === 'error' || type === 'warning' ? 'alert' : 'status'); messageWrapper.setAttribute('data-drupal-message-id', id); messageWrapper.setAttribute('data-drupal-message-type', type); - messageWrapper.setAttribute('aria-label', messagesTypes[type]); - - messageWrapper.innerHTML = '' + text; - + messageWrapper.innerHTML = "".concat(text); return messageWrapper; }; })(Drupal); \ No newline at end of file diff --git a/core/misc/modernizr-additional-tests.js b/core/misc/modernizr-additional-tests.js index ec7bbc4547eae9075d39b77a6abb2ed7405be2a7..acf897c271e9f40f8ba1598f4aaadbeba74eb8e4 100644 --- a/core/misc/modernizr-additional-tests.js +++ b/core/misc/modernizr-additional-tests.js @@ -7,7 +7,7 @@ (function (Modernizr) { Modernizr.addTest('touchevents', function () { - var bool = void 0; + var bool; if ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch) { bool = true; @@ -17,6 +17,7 @@ bool = node.offsetTop === 9; }); } + return bool; }); })(Modernizr); \ No newline at end of file diff --git a/core/misc/progress.js b/core/misc/progress.js index 82280aac4edd32d3ea4d51b48493425a79326270..fc532a897d36b142e594fdd668dbcf1e696039e1 100644 --- a/core/misc/progress.js +++ b/core/misc/progress.js @@ -7,7 +7,7 @@ (function ($, Drupal) { Drupal.theme.progressBar = function (id) { - return '<div id="' + id + '" class="progress" aria-live="polite">' + '<div class="progress__label"> </div>' + '<div class="progress__track"><div class="progress__bar"></div></div>' + '<div class="progress__percentage"></div>' + '<div class="progress__description"> </div>' + '</div>'; + return "<div id=\"".concat(id, "\" class=\"progress\" aria-live=\"polite\">") + '<div class="progress__label"> </div>' + '<div class="progress__track"><div class="progress__bar"></div></div>' + '<div class="progress__percentage"></div>' + '<div class="progress__description"> </div>' + '</div>'; }; Drupal.ProgressBar = function (id, updateCallback, method, errorCallback) { @@ -15,18 +15,19 @@ this.method = method || 'GET'; this.updateCallback = updateCallback; this.errorCallback = errorCallback; - this.element = $(Drupal.theme('progressBar', id)); }; $.extend(Drupal.ProgressBar.prototype, { setProgress: function setProgress(percentage, message, label) { if (percentage >= 0 && percentage <= 100) { - $(this.element).find('div.progress__bar').css('width', percentage + '%'); - $(this.element).find('div.progress__percentage').html(percentage + '%'); + $(this.element).find('div.progress__bar').css('width', "".concat(percentage, "%")); + $(this.element).find('div.progress__percentage').html("".concat(percentage, "%")); } + $('div.progress__description', this.element).html(message); $('div.progress__label', this.element).html(label); + if (this.updateCallback) { this.updateCallback(percentage, message, this); } @@ -38,22 +39,23 @@ }, stopMonitoring: function stopMonitoring() { clearTimeout(this.timer); - this.uri = null; }, sendPing: function sendPing() { if (this.timer) { clearTimeout(this.timer); } + if (this.uri) { var pb = this; - var uri = this.uri; + if (uri.indexOf('?') === -1) { uri += '?'; } else { uri += '&'; } + uri += '_format=json'; $.ajax({ type: this.method, @@ -67,14 +69,13 @@ } pb.setProgress(progress.percentage, progress.message, progress.label); - pb.timer = setTimeout(function () { pb.sendPing(); }, pb.delay); }, error: function error(xmlhttp) { var e = new Drupal.AjaxError(xmlhttp, pb.uri); - pb.displayError('<pre>' + e.message + '</pre>'); + pb.displayError("<pre>".concat(e.message, "</pre>")); } }); } diff --git a/core/misc/states.js b/core/misc/states.js index 1da26592bcca29b40c42ca966bbd229dea5c4be7..49330d978ab4e46a5c2cbe2dca326be180f97abd 100644 --- a/core/misc/states.js +++ b/core/misc/states.js @@ -9,7 +9,6 @@ var states = { postponed: [] }; - Drupal.states = states; function invert(a, invertState) { @@ -28,6 +27,7 @@ if (typeof a === 'undefined') { return b; } + if (typeof b === 'undefined') { return a; } @@ -64,8 +64,10 @@ states.Dependent = function (args) { var _this = this; - $.extend(this, { values: {}, oldValue: null }, args); - + $.extend(this, { + values: {}, + oldValue: null + }, args); this.dependees = this.getDependees(); Object.keys(this.dependees || {}).forEach(function (selector) { _this.initializeDependee(selector, _this.dependees[selector]); @@ -83,13 +85,11 @@ return typeof value === 'string' ? _compare2(reference.toString(), value) : _compare2(reference, value); } }; - states.Dependent.prototype = { initializeDependee: function initializeDependee(selector, dependeeStates) { var _this2 = this; this.values[selector] = {}; - Object.keys(dependeeStates).forEach(function (i) { var state = dependeeStates[i]; @@ -98,18 +98,22 @@ } state = states.State.sanitize(state); - _this2.values[selector][state.name] = null; - - $(selector).on('state:' + state, { selector: selector, state: state }, function (e) { + $(selector).on("state:".concat(state), { + selector: selector, + state: state + }, function (e) { _this2.update(e.data.selector, e.data.state, e.value); }); - - new states.Trigger({ selector: selector, state: state }); + new states.Trigger({ + selector: selector, + state: state + }); }); }, compare: function compare(reference, selector, state) { var value = this.values[selector][state.name]; + if (reference.constructor.name in states.Dependent.comparisons) { return states.Dependent.comparisons[reference.constructor.name](reference, value); } @@ -127,21 +131,21 @@ if (value !== this.oldValue) { this.oldValue = value; - value = invert(value, this.state.invert); - this.element.trigger({ - type: 'state:' + this.state, + type: "state:".concat(this.state), value: value, trigger: true }); } }, verifyConstraints: function verifyConstraints(constraints, selector) { - var result = void 0; + var result; + if ($.isArray(constraints)) { var hasXor = $.inArray('xor', constraints) === -1; var len = constraints.length; + for (var i = 0; i < len; i++) { if (constraints[i] !== 'xor') { var constraint = this.checkConstraints(constraints[i], selector, i); @@ -149,6 +153,7 @@ if (constraint && (hasXor || result)) { return hasXor; } + result = result || constraint; } } @@ -163,6 +168,7 @@ } } } + return result; }, checkConstraints: function checkConstraints(value, selector, state) { @@ -182,16 +188,14 @@ }, getDependees: function getDependees() { var cache = {}; - var _compare = this.compare; + this.compare = function (reference, selector, state) { (cache[selector] || (cache[selector] = [])).push(state.name); }; this.verifyConstraints(this.constraints); - this.compare = _compare; - return cache; } }; @@ -202,7 +206,7 @@ if (this.state in states.Trigger.states) { this.element = $(this.selector); - if (!this.element.data('trigger:' + this.state)) { + if (!this.element.data("trigger:".concat(this.state))) { this.initialize(); } } @@ -222,68 +226,63 @@ }); } - this.element.data('trigger:' + this.state, true); + this.element.data("trigger:".concat(this.state), true); }, defaultTrigger: function defaultTrigger(event, valueFn) { var oldValue = valueFn.call(this.element); - this.element.on(event, $.proxy(function (e) { var value = valueFn.call(this.element, e); if (oldValue !== value) { this.element.trigger({ - type: 'state:' + this.state, + type: "state:".concat(this.state), value: value, oldValue: oldValue }); oldValue = value; } }, this)); - states.postponed.push($.proxy(function () { this.element.trigger({ - type: 'state:' + this.state, + type: "state:".concat(this.state), value: oldValue, oldValue: null }); }, this)); } }; - states.Trigger.states = { empty: { keyup: function keyup() { return this.val() === ''; } }, - checked: { change: function change() { var checked = false; this.each(function () { checked = $(this).prop('checked'); - return !checked; }); return checked; } }, - value: { keyup: function keyup() { if (this.length > 1) { return this.filter(':checked').val() || false; } + return this.val(); }, change: function change() { if (this.length > 1) { return this.filter(':checked').val() || false; } + return this.val(); } }, - collapsed: { collapsed: function collapsed(e) { return typeof e !== 'undefined' && 'value' in e ? e.value : !this.is('[open]'); @@ -294,8 +293,8 @@ states.State = function (state) { this.pristine = state; this.name = state; - var process = true; + do { while (this.name.charAt(0) === '!') { this.name = this.name.substring(1); @@ -332,27 +331,26 @@ closed: 'collapsed', readwrite: '!readonly' }; - states.State.prototype = { invert: false, - toString: function toString() { return this.name; } }; - var $document = $(document); $document.on('state:disabled', function (e) { if (e.trigger) { $(e.target).prop('disabled', e.value).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggleClass('form-disabled', e.value).find('select, input, textarea').prop('disabled', e.value); } }); - $document.on('state:required', function (e) { if (e.trigger) { if (e.value) { - var label = 'label' + (e.target.id ? '[for=' + e.target.id + ']' : ''); - var $label = $(e.target).attr({ required: 'required', 'aria-required': 'true' }).closest('.js-form-item, .js-form-wrapper').find(label); + var label = "label".concat(e.target.id ? "[for=".concat(e.target.id, "]") : ''); + var $label = $(e.target).attr({ + required: 'required', + 'aria-required': 'true' + }).closest('.js-form-item, .js-form-wrapper').find(label); if (!$label.hasClass('js-form-required').length) { $label.addClass('js-form-required form-required'); @@ -362,19 +360,16 @@ } } }); - $document.on('state:visible', function (e) { if (e.trigger) { $(e.target).closest('.js-form-item, .js-form-submit, .js-form-wrapper').toggle(e.value); } }); - $document.on('state:checked', function (e) { if (e.trigger) { $(e.target).prop('checked', e.value); } }); - $document.on('state:collapsed', function (e) { if (e.trigger) { if ($(e.target).is('[open]') === e.value) { diff --git a/core/misc/tabbingmanager.js b/core/misc/tabbingmanager.js index c912c92684e8e92bf62d2672c9f872c70cc82cdd..5db64002af382629d849c66ae29d9600761a133b 100644 --- a/core/misc/tabbingmanager.js +++ b/core/misc/tabbingmanager.js @@ -13,13 +13,9 @@ function TabbingContext(options) { $.extend(this, { level: null, - $tabbableElements: $(), - $disabledElements: $(), - released: false, - active: false }, options); } @@ -27,27 +23,24 @@ $.extend(TabbingManager.prototype, { constrain: function constrain(elements) { var il = this.stack.length; + for (var i = 0; i < il; i++) { this.stack[i].deactivate(); } var $elements = $(elements).find(':tabbable').addBack(':tabbable'); - var tabbingContext = new TabbingContext({ level: this.stack.length, $tabbableElements: $elements }); - this.stack.push(tabbingContext); - tabbingContext.activate(); - $(document).trigger('drupalTabbingConstrained', tabbingContext); - return tabbingContext; }, release: function release() { var toActivate = this.stack.length - 1; + while (toActivate >= 0 && this.stack[toActivate].released) { toActivate--; } @@ -61,29 +54,28 @@ activate: function activate(tabbingContext) { var $set = tabbingContext.$tabbableElements; var level = tabbingContext.level; - var $disabledSet = $(':tabbable').not($set); - tabbingContext.$disabledElements = $disabledSet; - var il = $disabledSet.length; + for (var i = 0; i < il; i++) { this.recordTabindex($disabledSet.eq(i), level); } $disabledSet.prop('tabindex', -1).prop('autofocus', false); - var $hasFocus = $set.filter('[autofocus]').eq(-1); if ($hasFocus.length === 0) { $hasFocus = $set.eq(0); } + $hasFocus.trigger('focus'); }, deactivate: function deactivate(tabbingContext) { var $set = tabbingContext.$disabledElements; var level = tabbingContext.level; var il = $set.length; + for (var i = 0; i < il; i++) { this.restoreTabindex($set.eq(i), level); } @@ -98,13 +90,16 @@ }, restoreTabindex: function restoreTabindex($el, level) { var tabInfo = $el.data('drupalOriginalTabIndices'); + if (tabInfo && tabInfo[level]) { var data = tabInfo[level]; + if (data.tabindex) { $el[0].setAttribute('tabindex', data.tabindex); } else { $el[0].removeAttribute('tabindex'); } + if (data.autofocus) { $el[0].setAttribute('autofocus', 'autofocus'); } @@ -113,23 +108,23 @@ $el.removeData('drupalOriginalTabIndices'); } else { var levelToDelete = level; + while (tabInfo.hasOwnProperty(levelToDelete)) { delete tabInfo[levelToDelete]; levelToDelete++; } + $el.data('drupalOriginalTabIndices', tabInfo); } } } }); - $.extend(TabbingContext.prototype, { release: function release() { if (!this.released) { this.deactivate(); this.released = true; Drupal.tabbingManager.release(this); - $(document).trigger('drupalTabbingContextReleased', this); } }, @@ -137,7 +132,6 @@ if (!this.active && !this.released) { this.active = true; Drupal.tabbingManager.activate(this); - $(document).trigger('drupalTabbingContextActivated', this); } }, @@ -145,7 +139,6 @@ if (this.active) { this.active = false; Drupal.tabbingManager.deactivate(this); - $(document).trigger('drupalTabbingContextDeactivated', this); } } diff --git a/core/misc/tabledrag.es6.js b/core/misc/tabledrag.es6.js index 96ff46b03189f8e9532d5811f5d18d5d73a13c9a..a447abae5aad6bf98279ab5224a2285484445570 100644 --- a/core/misc/tabledrag.es6.js +++ b/core/misc/tabledrag.es6.js @@ -405,7 +405,7 @@ $tables.find('.tabledrag-handle').css('display', ''); // Reduce the colspan of any effected multi-span columns. $tables.find('.tabledrag-has-colspan').each(function() { - this.colSpan = this.colSpan - 1; + this.colSpan -= 1; }); // Change link text. $('.tabledrag-toggle-weight').text(Drupal.t('Show row weights')); @@ -424,7 +424,7 @@ $tables.find('.tabledrag-handle').css('display', 'none'); // Increase the colspan for any columns where it was previously reduced. $tables.find('.tabledrag-has-colspan').each(function() { - this.colSpan = this.colSpan + 1; + this.colSpan += 1; }); // Change link text. $('.tabledrag-toggle-weight').text(Drupal.t('Hide row weights')); diff --git a/core/misc/tabledrag.js b/core/misc/tabledrag.js index 4187077f5e779d5b320048ec7fb484dde444d6c6..ff56349a40e641996c41591a2b27829bdd2685a0 100644 --- a/core/misc/tabledrag.js +++ b/core/misc/tabledrag.js @@ -4,11 +4,11 @@ * https://www.drupal.org/node/2815083 * @preserve **/ -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } (function ($, Drupal, drupalSettings) { var showWeight = JSON.parse(localStorage.getItem('Drupal.tableDrag.showWeight')); - Drupal.behaviors.tableDrag = { attach: function attach(context, settings) { function initTableDrag(table, base) { @@ -18,7 +18,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } Object.keys(settings.tableDrag || {}).forEach(function (base) { - initTableDrag($(context).find('#' + base).once('tabledrag'), base); + initTableDrag($(context).find("#".concat(base)).once('tabledrag'), base); }); } }; @@ -28,56 +28,44 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var self = this; var $table = $(table); - this.$table = $(table); - this.table = table; - this.tableSettings = tableSettings; - this.dragObject = null; - this.rowObject = null; - this.oldRowElement = null; - this.oldY = null; - this.changed = false; - this.maxDepth = 0; - this.rtl = $(this.table).css('direction') === 'rtl' ? -1 : 1; - this.striping = $(this.table).data('striping') === 1; - - this.scrollSettings = { amount: 4, interval: 50, trigger: 70 }; - + this.scrollSettings = { + amount: 4, + interval: 50, + trigger: 70 + }; this.scrollInterval = null; - this.scrollY = 0; - this.windowHeight = 0; - this.indentEnabled = false; Object.keys(tableSettings || {}).forEach(function (group) { Object.keys(tableSettings[group] || {}).forEach(function (n) { if (tableSettings[group][n].relationship === 'parent') { _this.indentEnabled = true; } + if (tableSettings[group][n].limit > 0) { _this.maxDepth = tableSettings[group][n].limit; } }); }); + if (this.indentEnabled) { this.indentCount = 1; - var indent = Drupal.theme('tableDragIndentation'); var testRow = $('<tr/>').addClass('draggable').appendTo(table); var testCell = $('<td/>').appendTo(testRow).prepend(indent).prepend(indent); var $indentation = testCell.find('.js-indentation'); - this.indentAmount = $indentation.get(1).offsetLeft - $indentation.get(0).offsetLeft; testRow.remove(); } @@ -85,14 +73,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $table.find('> tr.draggable, > tbody > tr.draggable').each(function () { self.makeDraggable(this); }); - $table.before($('<button type="button" class="link tabledrag-toggle-weight"></button>').on('click', $.proxy(function (e) { e.preventDefault(); this.toggleColumns(); }, this)).wrap('<div class="tabledrag-toggle-weight-wrapper"></div>').parent()); - self.initColumns(); - $(document).on('touchmove', function (event) { return self.dragRow(event.originalEvent.touches[0], self); }); @@ -105,7 +90,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $(document).on('mouseup pointerup', function (event) { return self.dropRow(event, self); }); - $(window).on('storage', $.proxy(function (e) { if (e.originalEvent.key === 'Drupal.tableDrag.showWeight') { showWeight = JSON.parse(e.originalEvent.newValue); @@ -118,17 +102,19 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var _this2 = this; var $table = this.$table; - var hidden = void 0; - var cell = void 0; - var columnIndex = void 0; + var hidden; + var cell; + var columnIndex; Object.keys(this.tableSettings || {}).forEach(function (group) { Object.keys(_this2.tableSettings[group]).some(function (tableSetting) { - var field = $table.find('.' + _this2.tableSettings[group][tableSetting].target).eq(0); + var field = $table.find(".".concat(_this2.tableSettings[group][tableSetting].target)).eq(0); + if (field.length && _this2.tableSettings[group][tableSetting].hidden) { hidden = _this2.tableSettings[group][tableSetting].hidden; cell = field.closest('td'); return true; } + return false; }); @@ -145,14 +131,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var $row = $(this); var index = columnIndex; var cells = $row.children(); - var cell = void 0; + var cell; cells.each(function (n) { if (n < index && this.colSpan && this.colSpan > 1) { index -= this.colSpan - 1; } }); + if (index > 0) { - cell = cells.filter(':nth-child(' + index + ')'); + cell = cells.filter(":nth-child(".concat(index, ")")); + if (cell[0].colSpan && cell[0].colSpan > 1) { cell.addClass('tabledrag-has-colspan'); } else { @@ -175,6 +163,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.toggleColumns = function () { showWeight = !showWeight; this.displayColumns(showWeight); + if (showWeight) { localStorage.setItem('Drupal.tableDrag.showWeight', showWeight); } else { @@ -184,44 +173,38 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.hideColumns = function () { var $tables = $('table').findOnce('tabledrag'); - $tables.find('.tabledrag-hide').css('display', 'none'); - $tables.find('.tabledrag-handle').css('display', ''); - $tables.find('.tabledrag-has-colspan').each(function () { - this.colSpan = this.colSpan - 1; + this.colSpan -= 1; }); - $('.tabledrag-toggle-weight').text(Drupal.t('Show row weights')); }; Drupal.tableDrag.prototype.showColumns = function () { var $tables = $('table').findOnce('tabledrag'); - $tables.find('.tabledrag-hide').css('display', ''); - $tables.find('.tabledrag-handle').css('display', 'none'); - $tables.find('.tabledrag-has-colspan').each(function () { - this.colSpan = this.colSpan + 1; + this.colSpan += 1; }); - $('.tabledrag-toggle-weight').text(Drupal.t('Hide row weights')); }; Drupal.tableDrag.prototype.rowSettings = function (group, row) { - var field = $(row).find('.' + group); + var field = $(row).find(".".concat(group)); var tableSettingsGroup = this.tableSettings[group]; return Object.keys(tableSettingsGroup).map(function (delta) { var targetClass = tableSettingsGroup[delta].target; - var rowSettings = void 0; - if (field.is('.' + targetClass)) { + var rowSettings; + + if (field.is(".".concat(targetClass))) { rowSettings = {}; Object.keys(tableSettingsGroup[delta]).forEach(function (n) { rowSettings[n] = tableSettingsGroup[delta][n]; }); } + return rowSettings; }).filter(function (rowSetting) { return rowSetting; @@ -231,15 +214,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.makeDraggable = function (item) { var self = this; var $item = $(item); - $item.find('td:first-of-type').find('a').addClass('menu-item__link'); - var handle = $('<a href="#" class="tabledrag-handle"><div class="handle"> </div></a>').attr('title', Drupal.t('Drag to re-order')); - var $indentationLast = $item.find('td:first-of-type').find('.js-indentation').eq(-1); + if ($indentationLast.length) { $indentationLast.after(handle); - self.indentCount = Math.max($item.find('.js-indentation').length, self.indentCount); } else { $item.find('td').eq(0).prepend(handle); @@ -247,33 +227,31 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol handle.on('mousedown touchstart pointerdown', function (event) { event.preventDefault(); + if (event.originalEvent.type === 'touchstart') { event = event.originalEvent.touches[0]; } + self.dragStart(event, self, item); }); - handle.on('click', function (e) { e.preventDefault(); }); - handle.on('focus', function () { self.safeBlur = true; }); - handle.on('blur', function (event) { if (self.rowObject && self.safeBlur) { self.dropRow(event, self); } }); - handle.on('keydown', function (event) { if (event.keyCode !== 9 && !self.rowObject) { self.rowObject = new self.row(item, 'keyboard', self.indentEnabled, self.maxDepth, true); } var keyChange = false; - var groupHeight = void 0; + var groupHeight; switch (event.keyCode) { case 37: @@ -287,10 +265,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol { var $previousRow = $(self.rowObject.element).prev('tr').eq(0); var previousRow = $previousRow.get(0); + while (previousRow && $previousRow.is(':hidden')) { $previousRow = $(previousRow).prev('tr').eq(0); previousRow = $previousRow.get(0); } + if (previousRow) { self.safeBlur = false; self.rowObject.direction = 'up'; @@ -298,14 +278,15 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if ($(item).is('.tabledrag-root')) { groupHeight = 0; + while (previousRow && $previousRow.find('.js-indentation').length) { $previousRow = $(previousRow).prev('tr').eq(0); previousRow = $previousRow.get(0); groupHeight += $previousRow.is(':hidden') ? 0 : previousRow.offsetHeight; } + if (previousRow) { self.rowObject.swap('before', previousRow); - window.scrollBy(0, -groupHeight); } } else if (self.table.tBodies[0].rows[0] !== previousRow || $previousRow.is('.draggable')) { @@ -317,6 +298,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol handle.trigger('focus'); } + break; } @@ -331,10 +313,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol { var $nextRow = $(self.rowObject.group).eq(-1).next('tr').eq(0); var nextRow = $nextRow.get(0); + while (nextRow && $nextRow.is(':hidden')) { $nextRow = $(nextRow).next('tr').eq(0); nextRow = $nextRow.get(0); } + if (nextRow) { self.safeBlur = false; self.rowObject.direction = 'down'; @@ -343,13 +327,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if ($(item).is('.tabledrag-root')) { groupHeight = 0; var nextGroup = new self.row(nextRow, 'keyboard', self.indentEnabled, self.maxDepth, false); + if (nextGroup) { $(nextGroup.group).each(function () { groupHeight += $(this).is(':hidden') ? 0 : this.offsetHeight; }); var nextGroupRow = $(nextGroup.group).eq(-1).get(0); self.rowObject.swap('after', nextGroupRow); - window.scrollBy(0, parseInt(groupHeight, 10)); } } else { @@ -361,19 +345,24 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol handle.trigger('focus'); } + break; } } if (self.rowObject && self.rowObject.changed === true) { $(item).addClass('drag'); + if (self.oldRowElement) { $(self.oldRowElement).removeClass('drag-previous'); } + self.oldRowElement = item; + if (self.striping === true) { self.restripeTable(); } + self.onDrag(); } @@ -381,9 +370,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol return false; } }); - handle.on('keypress', function (event) { - switch (event.keyCode) { case 37: case 38: @@ -398,6 +385,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol self.dragObject = {}; self.dragObject.initOffset = self.getPointerOffset(item, event); self.dragObject.initPointerCoords = self.pointerCoords(event); + if (self.indentEnabled) { self.dragObject.indentPointerPos = self.dragObject.initPointerCoords; } @@ -407,13 +395,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } self.rowObject = new self.row(item, 'pointer', self.indentEnabled, self.maxDepth, true); - self.table.topY = $(self.table).offset().top; self.table.bottomY = self.table.topY + self.table.offsetHeight; - $(item).addClass('drag'); - $('body').addClass('drag'); + if (self.oldRowElement) { $(self.oldRowElement).removeClass('drag-previous'); } @@ -429,11 +415,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (y !== self.oldY) { self.rowObject.direction = y > self.oldY ? 'down' : 'up'; - self.oldY = y; - var scrollAmount = self.checkScroll(self.currentPointerCoords.y); - clearInterval(self.scrollInterval); if (scrollAmount > 0 && self.rowObject.direction === 'down' || scrollAmount < 0 && self.rowObject.direction === 'up') { @@ -441,12 +424,14 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } var currentRow = self.findDropTargetRow(x, y); + if (currentRow) { if (self.rowObject.direction === 'down') { self.rowObject.swap('after', currentRow, self); } else { self.rowObject.swap('before', currentRow, self); } + if (self.striping === true) { self.restripeTable(); } @@ -455,11 +440,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (self.indentEnabled) { var xDiff = self.currentPointerCoords.x - self.dragObject.indentPointerPos.x; - var indentDiff = Math.round(xDiff / self.indentAmount); - var indentChange = self.rowObject.indent(indentDiff); - self.dragObject.indentPointerPos.x += self.indentAmount * indentChange * self.rtl; self.indentCount = Math.max(self.indentCount, self.rowObject.indents); } @@ -469,8 +451,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }; Drupal.tableDrag.prototype.dropRow = function (event, self) { - var droppedRow = void 0; - var $droppedRow = void 0; + var droppedRow; + var $droppedRow; if (self.rowObject !== null) { droppedRow = self.rowObject.element; @@ -478,17 +460,17 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (self.rowObject.changed === true) { self.updateFields(droppedRow); - Object.keys(self.tableSettings || {}).forEach(function (group) { var rowSettings = self.rowSettings(group, droppedRow); + if (rowSettings.relationship === 'group') { Object.keys(self.rowObject.children || {}).forEach(function (n) { self.updateField(self.rowObject.children[n], group); }); } }); - self.rowObject.markChanged(); + if (self.changed === false) { $(Drupal.theme('tableDragChangedWarning')).insertBefore(self.table).hide().fadeIn('slow'); self.changed = true; @@ -498,9 +480,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (self.indentEnabled) { self.rowObject.removeIndentClasses(); } + if (self.oldRowElement) { $(self.oldRowElement).removeClass('drag-previous'); } + $droppedRow.removeClass('drag').addClass('drag-previous'); self.oldRowElement = droppedRow; self.onDrop(); @@ -516,8 +500,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.pointerCoords = function (event) { if (event.pageX || event.pageY) { - return { x: event.pageX, y: event.pageY }; + return { + x: event.pageX, + y: event.pageY + }; } + return { x: event.clientX + document.body.scrollLeft - document.body.clientLeft, y: event.clientY + document.body.scrollTop - document.body.clientTop @@ -527,7 +515,10 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.getPointerOffset = function (target, event) { var docPos = $(target).offset(); var pointerPos = this.pointerCoords(event); - return { x: pointerPos.x - docPos.left, y: pointerPos.y - docPos.top }; + return { + x: pointerPos.x - docPos.left, + y: pointerPos.y - docPos.top + }; }; Drupal.tableDrag.prototype.findDropTargetRow = function (x, y) { @@ -572,6 +563,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $row = $row.prev('tr:first-of-type'); row = $row.get(0); } + return { v: row }; @@ -581,8 +573,9 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol for (var n = 0; n < rows.length; n++) { var _ret = _loop(n); - if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; + if (_typeof(_ret) === "object") return _ret.v; } + return null; }; @@ -597,10 +590,10 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.updateField = function (changedRow, group) { var rowSettings = this.rowSettings(group, changedRow); var $changedRow = $(changedRow); - var sourceRow = void 0; - var $previousRow = void 0; - var previousRow = void 0; - var useSibling = void 0; + var sourceRow; + var $previousRow; + var previousRow; + var useSibling; if (rowSettings.relationship === 'self' || rowSettings.relationship === 'group') { sourceRow = changedRow; @@ -610,7 +603,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var $nextRow = $changedRow.next('tr:first-of-type'); var nextRow = $nextRow.get(0); sourceRow = changedRow; - if ($previousRow.is('.draggable') && $previousRow.find('.' + group).length) { + + if ($previousRow.is('.draggable') && $previousRow.find(".".concat(group)).length) { if (this.indentEnabled) { if ($previousRow.find('.js-indentations').length === $changedRow.find('.js-indentations').length) { sourceRow = previousRow; @@ -618,7 +612,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } else { sourceRow = previousRow; } - } else if ($nextRow.is('.draggable') && $nextRow.find('.' + group).length) { + } else if ($nextRow.is('.draggable') && $nextRow.find(".".concat(group)).length) { if (this.indentEnabled) { if ($nextRow.find('.js-indentations').length === $changedRow.find('.js-indentations').length) { sourceRow = nextRow; @@ -630,6 +624,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } else if (rowSettings.relationship === 'parent') { $previousRow = $changedRow.prev('tr'); previousRow = $previousRow; + while ($previousRow.length && $previousRow.find('.js-indentation').length >= this.rowObject.indents) { $previousRow = $previousRow.prev('tr'); previousRow = $previousRow; @@ -639,9 +634,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol sourceRow = $previousRow.get(0); } else { sourceRow = $(this.table).find('tr.draggable:first-of-type').get(0); + if (sourceRow === this.rowObject.element) { sourceRow = $(this.rowObject.group[this.rowObject.group.length - 1]).next('tr.draggable').get(0); } + useSibling = true; } } @@ -654,12 +651,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol rowSettings.source = rowSettings.target; } - var targetClass = '.' + rowSettings.target; + var targetClass = ".".concat(rowSettings.target); var targetElement = $changedRow.find(targetClass).get(0); if (targetElement) { - var sourceClass = '.' + rowSettings.source; + var sourceClass = ".".concat(rowSettings.source); var sourceElement = $(sourceClass, sourceRow).get(0); + switch (rowSettings.action) { case 'depth': targetElement.value = $(sourceElement).closest('tr').find('.js-indentation').length; @@ -672,13 +670,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol case 'order': { var siblings = this.rowObject.findSiblings(rowSettings); + if ($(targetElement).is('select')) { var values = []; $(targetElement).find('option').each(function () { values.push(this.value); }); var maxVal = values[values.length - 1]; - $(siblings).find(targetClass).each(function () { if (values.length > 0) { this.value = values.shift(); @@ -693,6 +691,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol weight++; }); } + break; } } @@ -700,8 +699,9 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }; Drupal.tableDrag.prototype.copyDragClasses = function (sourceRow, targetRow, group) { - var sourceElement = $(sourceRow).find('.' + group); - var targetElement = $(targetRow).find('.' + group); + var sourceElement = $(sourceRow).find(".".concat(group)); + var targetElement = $(targetRow).find(".".concat(group)); + if (sourceElement.length && targetElement.length) { targetElement[0].className = sourceElement[0].className; } @@ -710,15 +710,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.checkScroll = function (cursorY) { var de = document.documentElement; var b = document.body; - var windowHeight = window.innerHeight || (de.clientHeight && de.clientWidth !== 0 ? de.clientHeight : b.offsetHeight); this.windowHeight = windowHeight; - var scrollY = void 0; + var scrollY; + if (document.all) { scrollY = !de.scrollTop ? b.scrollTop : de.scrollTop; } else { scrollY = window.pageYOffset ? window.pageYOffset : window.scrollY; } + this.scrollY = scrollY; var trigger = this.scrollSettings.trigger; var delta = 0; @@ -728,6 +729,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol delta = delta > 0 && delta < trigger ? delta : trigger; return delta * this.scrollSettings.amount; } + if (cursorY - scrollY < trigger) { delta = trigger / (cursorY - scrollY); delta = delta > 0 && delta < trigger ? delta : trigger; @@ -737,11 +739,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.setScroll = function (scrollAmount) { var self = this; - this.scrollInterval = setInterval(function () { self.checkScroll(self.currentPointerCoords.y); var aboveTable = self.scrollY > self.table.topY; var belowTable = self.scrollY + self.windowHeight < self.table.bottomY; + if (scrollAmount > 0 && belowTable || scrollAmount < 0 && aboveTable) { window.scrollBy(0, scrollAmount); } @@ -762,7 +764,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.row = function (tableRow, method, indentEnabled, maxDepth, addClasses) { var $tableRow = $(tableRow); - this.element = tableRow; this.method = method; this.group = [tableRow]; @@ -771,8 +772,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol this.table = $tableRow.closest('table')[0]; this.indentEnabled = indentEnabled; this.maxDepth = maxDepth; - this.direction = ''; + if (this.indentEnabled) { this.indents = $tableRow.find('.js-indentation').length; this.children = this.findChildren(addClasses); @@ -792,9 +793,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol function rowIndentation(indentNum, el) { var self = $(el); + if (child === 1 && indentNum === parentIndentation) { self.addClass('tree-child-first'); } + if (indentNum === parentIndentation) { self.addClass('tree-child'); } else if (indentNum > parentIndentation) { @@ -806,25 +809,31 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (currentRow.find('.js-indentation').length > parentIndentation) { child++; rows.push(currentRow[0]); + if (addClasses) { currentRow.find('.js-indentation').each(rowIndentation); } } else { break; } + currentRow = currentRow.next('tr.draggable'); } + if (addClasses && rows.length) { - $(rows[rows.length - 1]).find('.js-indentation:nth-child(' + (parentIndentation + 1) + ')').addClass('tree-child-last'); + $(rows[rows.length - 1]).find(".js-indentation:nth-child(".concat(parentIndentation + 1, ")")).addClass('tree-child-last'); } + return rows; }; Drupal.tableDrag.prototype.row.prototype.isValidSwap = function (row) { var $row = $(row); + if (this.indentEnabled) { - var prevRow = void 0; - var nextRow = void 0; + var prevRow; + var nextRow; + if (this.direction === 'down') { prevRow = row; nextRow = $row.next('tr').get(0); @@ -832,6 +841,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol prevRow = $row.prev('tr').get(0); nextRow = row; } + this.interval = this.validIndentInterval(prevRow, nextRow); if (this.interval.min > this.interval.max) { @@ -851,7 +861,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.detachBehaviors(row, drupalSettings, 'move'); }); $(row)[position](this.group); - this.group.forEach(function (row) { Drupal.attachBehaviors(row, drupalSettings); }); @@ -861,8 +870,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.row.prototype.validIndentInterval = function (prevRow, nextRow) { var $prevRow = $(prevRow); - var maxIndent = void 0; - + var maxIndent; var minIndent = nextRow ? $(nextRow).find('.js-indentation').length : 0; if (!prevRow || $prevRow.is(':not(.draggable)') || $(this.element).is('.tabledrag-root')) { @@ -875,7 +883,10 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } } - return { min: minIndent, max: maxIndent }; + return { + min: minIndent, + max: maxIndent + }; }; Drupal.tableDrag.prototype.row.prototype.indent = function (indentDiff) { @@ -901,6 +912,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol this.indents++; } } + if (indentDiff) { this.changed = true; this.groupDepth += indentDiff; @@ -914,11 +926,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var siblings = []; var directions = ['prev', 'next']; var rowIndentation = this.indents; - var checkRowIndentation = void 0; + var checkRowIndentation; + for (var d = 0; d < directions.length; d++) { var checkRow = $(this.element)[directions[d]](); + while (checkRow.length) { - if (checkRow.find('.' + rowSettings.target)) { + if (checkRow.find(".".concat(rowSettings.target))) { if (this.indentEnabled) { checkRowIndentation = checkRow.find('.js-indentation').length; } @@ -931,6 +945,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } else { break; } + checkRow = checkRow[directions[d]](); } @@ -939,6 +954,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol siblings.push(this.element); } } + return siblings; }; @@ -953,6 +969,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.tableDrag.prototype.row.prototype.markChanged = function () { var marker = Drupal.theme('tableDragChangedMarker'); var cell = $(this.element).find('td:first-of-type'); + if (cell.find('abbr.tabledrag-changed').length === 0) { cell.append(marker); } @@ -968,13 +985,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $.extend(Drupal.theme, { tableDragChangedMarker: function tableDragChangedMarker() { - return '<abbr class="warning tabledrag-changed" title="' + Drupal.t('Changed') + '">*</abbr>'; + return "<abbr class=\"warning tabledrag-changed\" title=\"".concat(Drupal.t('Changed'), "\">*</abbr>"); }, tableDragIndentation: function tableDragIndentation() { return '<div class="js-indentation indentation"> </div>'; }, tableDragChangedWarning: function tableDragChangedWarning() { - return '<div class="tabledrag-changed-warning messages messages--warning" role="alert">' + Drupal.theme('tableDragChangedMarker') + ' ' + Drupal.t('You have unsaved changes.') + '</div>'; + return "<div class=\"tabledrag-changed-warning messages messages--warning\" role=\"alert\">".concat(Drupal.theme('tableDragChangedMarker'), " ").concat(Drupal.t('You have unsaved changes.'), "</div>"); } }); })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/misc/tableheader.js b/core/misc/tableheader.js index d5ad0a235e699fca2d6b4590c519ea4f7564fe6d..617aa924468468149129cfcaa93c1ca8fb9ce705 100644 --- a/core/misc/tableheader.js +++ b/core/misc/tableheader.js @@ -8,32 +8,31 @@ (function ($, Drupal, displace) { function TableHeader(table) { var $table = $(table); - this.$originalTable = $table; - this.$originalHeader = $table.children('thead'); - this.$originalHeaderCells = this.$originalHeader.find('> tr > th'); - this.displayWeight = null; this.$originalTable.addClass('sticky-table'); this.tableHeight = $table[0].clientHeight; this.tableOffset = this.$originalTable.offset(); - - this.$originalTable.on('columnschange', { tableHeader: this }, function (e, display) { + this.$originalTable.on('columnschange', { + tableHeader: this + }, function (e, display) { var tableHeader = e.data.tableHeader; + if (tableHeader.displayWeight === null || tableHeader.displayWeight !== display) { tableHeader.recalculateSticky(); } + tableHeader.displayWeight = display; }); - this.createSticky(); } function forTables(method, arg) { var tables = TableHeader.tables; var il = tables.length; + for (var i = 0; i < il; i++) { tables[i][method](arg); } @@ -42,15 +41,19 @@ function tableHeaderInitHandler(e) { var $tables = $(e.data.context).find('table.sticky-enabled').once('tableheader'); var il = $tables.length; + for (var i = 0; i < il; i++) { TableHeader.tables.push(new TableHeader($tables[i])); } + forTables('onScroll'); } Drupal.behaviors.tableHeader = { attach: function attach(context) { - $(window).one('scroll.TableHeaderInit', { context: context }, tableHeaderInitHandler); + $(window).one('scroll.TableHeaderInit', { + context: context + }, tableHeaderInitHandler); } }; @@ -72,50 +75,41 @@ $(window).on({ 'resize.TableHeader': tableHeaderResizeHandler, - 'scroll.TableHeader': tableHeaderOnScrollHandler }); - $(document).on({ 'columnschange.TableHeader': tableHeaderResizeHandler, - 'drupalViewportOffsetChange.TableHeader': tableHeaderOffsetChangeHandler }); - $.extend(TableHeader, { tables: [] }); - $.extend(TableHeader.prototype, { minHeight: 100, - tableOffset: null, - tableHeight: null, - stickyVisible: false, - createSticky: function createSticky() { var $stickyHeader = this.$originalHeader.clone(true); - this.$stickyTable = $('<table class="sticky-header"/>').css({ visibility: 'hidden', position: 'fixed', top: '0px' }).append($stickyHeader).insertBefore(this.$originalTable); - this.$stickyHeaderCells = $stickyHeader.find('> tr > th'); - this.recalculateSticky(); }, stickyPosition: function stickyPosition(offsetTop, offsetLeft) { var css = {}; + if (typeof offsetTop === 'number') { - css.top = offsetTop + 'px'; + css.top = "".concat(offsetTop, "px"); } + if (typeof offsetLeft === 'number') { - css.left = this.tableOffset.left - offsetLeft + 'px'; + css.left = "".concat(this.tableOffset.left - offsetLeft, "px"); } + return this.$stickyTable.css(css); }, checkStickyVisible: function checkStickyVisible() { @@ -133,35 +127,36 @@ }, onScroll: function onScroll(e) { this.checkStickyVisible(); - this.stickyPosition(null, scrollValue('scrollLeft')); this.$stickyTable.css('visibility', this.stickyVisible ? 'visible' : 'hidden'); }, recalculateSticky: function recalculateSticky(event) { this.tableHeight = this.$originalTable[0].clientHeight; - displace.offsets.top = displace.calculateOffset('top'); this.tableOffset = this.$originalTable.offset(); this.stickyPosition(displace.offsets.top, scrollValue('scrollLeft')); - var $that = null; var $stickyCell = null; var display = null; - var il = this.$originalHeaderCells.length; + for (var i = 0; i < il; i++) { $that = $(this.$originalHeaderCells[i]); $stickyCell = this.$stickyHeaderCells.eq($that.index()); display = $that.css('display'); + if (display !== 'none') { - $stickyCell.css({ width: $that.css('width'), display: display }); + $stickyCell.css({ + width: $that.css('width'), + display: display + }); } else { $stickyCell.css('display', 'none'); } } + this.$stickyTable.css('width', this.$originalTable.outerWidth()); } }); - Drupal.TableHeader = TableHeader; })(jQuery, Drupal, window.Drupal.displace); \ No newline at end of file diff --git a/core/misc/tableresponsive.js b/core/misc/tableresponsive.js index 0de5eee23cd66e3627d2fc0c4ea92eeb9229c41e..ffcb0a11a8e527d17a752bd3e4ced23fdbaeecec 100644 --- a/core/misc/tableresponsive.js +++ b/core/misc/tableresponsive.js @@ -11,32 +11,28 @@ this.$table = $(table); this.showText = Drupal.t('Show all columns'); this.hideText = Drupal.t('Hide lower priority columns'); - this.$headers = this.$table.find('th'); - this.$link = $('<button type="button" class="link tableresponsive-toggle"></button>').attr('title', Drupal.t('Show table cells that were hidden to make the table fit within a small screen.')).on('click', $.proxy(this, 'eventhandlerToggleColumns')); - this.$table.before($('<div class="tableresponsive-toggle-columns"></div>').append(this.$link)); - $(window).on('resize.tableresponsive', $.proxy(this, 'eventhandlerEvaluateColumnVisibility')).trigger('resize.tableresponsive'); } Drupal.behaviors.tableResponsive = { attach: function attach(context, settings) { var $tables = $(context).find('table.responsive-enabled').once('tableresponsive'); + if ($tables.length) { var il = $tables.length; + for (var i = 0; i < il; i++) { TableResponsive.tables.push(new TableResponsive($tables[i])); } } } }; - $.extend(TableResponsive, { tables: [] }); - $.extend(TableResponsive.prototype, { eventhandlerEvaluateColumnVisibility: function eventhandlerEvaluateColumnVisibility(e) { var pegged = parseInt(this.$link.data('pegged'), 10); @@ -63,42 +59,38 @@ self.$table.find('tbody tr').each(function () { var $cells = $(this).find('td').eq(position); $cells.show(); - self.$revealedCells = $().add(self.$revealedCells).add($cells); }); $header.show(); - self.$revealedCells = $().add(self.$revealedCells).add($header); }); this.$link.text(this.hideText).data('pegged', 1); } else { this.$revealedCells.hide(); - this.$revealedCells.each(function (index, element) { var $cell = $(this); var properties = $cell.attr('style').split(';'); var newProps = []; - var match = /^display\s*:\s*none$/; + for (var i = 0; i < properties.length; i++) { var prop = properties[i]; prop.trim(); - var isDisplayNone = match.exec(prop); + if (isDisplayNone) { continue; } + newProps.push(prop); } $cell.attr('style', newProps.join(';')); }); this.$link.text(this.showText).data('pegged', 0); - $(window).trigger('resize.tableresponsive'); } } }); - Drupal.TableResponsive = TableResponsive; })(jQuery, Drupal, window); \ No newline at end of file diff --git a/core/misc/tableselect.js b/core/misc/tableselect.js index 52425c5628b11da50d9c39d0fe4cfee71e38d330..cead6c011618efe48da54f2eeabf649e41928d22 100644 --- a/core/misc/tableselect.js +++ b/core/misc/tableselect.js @@ -18,18 +18,18 @@ } var table = this; - var checkboxes = void 0; - var lastChecked = void 0; + var checkboxes; + var lastChecked; var $table = $(table); var strings = { selectAll: Drupal.t('Select all rows in this table'), selectNone: Drupal.t('Deselect all rows in this table') }; + var updateSelectAll = function updateSelectAll(state) { $table.prev('table.sticky-header').addBack().find('th.select-all input[type="checkbox"]').each(function () { var $checkbox = $(this); var stateChanged = $checkbox.prop('checked') !== state; - $checkbox.attr('title', state ? strings.selectNone : strings.selectAll); if (stateChanged) { @@ -50,11 +50,9 @@ $checkbox.closest('tr').toggleClass('selected', this.checked); }); - updateSelectAll(event.target.checked); } }); - checkboxes = $table.find('td input[type="checkbox"]:enabled').on('click', function (e) { $(this).closest('tr').toggleClass('selected', this.checked); @@ -63,10 +61,8 @@ } updateSelectAll(checkboxes.length === checkboxes.filter(':checked').length); - lastChecked = e.target; }); - updateSelectAll(checkboxes.length === checkboxes.filter(':checked').length); }; diff --git a/core/misc/timezone.js b/core/misc/timezone.js index 62ea880e23fcf8c149d6c24bd1b1a43abe549458..3df14ad641adfb18910521f128a272bf41950dba 100644 --- a/core/misc/timezone.js +++ b/core/misc/timezone.js @@ -9,21 +9,18 @@ Drupal.behaviors.setTimezone = { attach: function attach(context, settings) { var $timezone = $(context).find('.timezone-detect').once('timezone'); + if ($timezone.length) { var dateString = Date(); - var matches = dateString.match(/\(([A-Z]{3,5})\)/); var abbreviation = matches ? matches[1] : 0; - var dateNow = new Date(); var offsetNow = dateNow.getTimezoneOffset() * -60; - var dateJan = new Date(dateNow.getFullYear(), 0, 1, 12, 0, 0, 0); var dateJul = new Date(dateNow.getFullYear(), 6, 1, 12, 0, 0, 0); var offsetJan = dateJan.getTimezoneOffset() * -60; var offsetJul = dateJul.getTimezoneOffset() * -60; - - var isDaylightSavingTime = void 0; + var isDaylightSavingTime; if (offsetJan === offsetJul) { isDaylightSavingTime = ''; @@ -33,11 +30,13 @@ isDaylightSavingTime = 0; } - var path = 'system/timezone/' + abbreviation + '/' + offsetNow + '/' + isDaylightSavingTime; + var path = "system/timezone/".concat(abbreviation, "/").concat(offsetNow, "/").concat(isDaylightSavingTime); $.ajax({ async: false, url: Drupal.url(path), - data: { date: dateString }, + data: { + date: dateString + }, dataType: 'json', success: function success(data) { if (data) { diff --git a/core/misc/vertical-tabs.js b/core/misc/vertical-tabs.js index 18270073cbb65c5a05624efb720ae6b9e71db641..1ba55f9460e4a162e4e8de8d89b31893e4a8c3bb 100644 --- a/core/misc/vertical-tabs.js +++ b/core/misc/vertical-tabs.js @@ -15,27 +15,25 @@ Drupal.behaviors.verticalTabs = { attach: function attach(context) { var width = drupalSettings.widthBreakpoint || 640; - var mq = '(max-width: ' + width + 'px)'; + var mq = "(max-width: ".concat(width, "px)"); if (window.matchMedia(mq).matches) { return; } $('body').once('vertical-tabs-fragments').on('formFragmentLinkClickOrHashChange.verticalTabs', handleFragmentLinkClickOrHashChange); - $(context).find('[data-vertical-tabs-panes]').once('vertical-tabs').each(function () { var $this = $(this).addClass('vertical-tabs__panes'); var focusID = $this.find(':hidden.vertical-tabs__active-tab').val(); - var tabFocus = void 0; - + var tabFocus; var $details = $this.find('> details'); + if ($details.length === 0) { return; } var tabList = $('<ul class="vertical-tabs__menu"></ul>'); $this.wrap('<div class="vertical-tabs clearfix"></div>').before(tabList); - $details.each(function () { var $that = $(this); var verticalTab = new Drupal.verticalTab({ @@ -44,22 +42,24 @@ }); tabList.append(verticalTab.item); $that.removeClass('collapsed').attr('open', true).addClass('vertical-tabs__pane').data('verticalTab', verticalTab); + if (this.id === focusID) { tabFocus = $that; } }); - $(tabList).find('> li').eq(0).addClass('first'); $(tabList).find('> li').eq(-1).addClass('last'); if (!tabFocus) { var $locationHash = $this.find(window.location.hash); + if (window.location.hash && $locationHash.length) { tabFocus = $locationHash.closest('.vertical-tabs__pane'); } else { tabFocus = $this.find('> .vertical-tabs__pane').eq(0); } } + if (tabFocus.length) { tabFocus.data('verticalTab').focus(); } @@ -70,23 +70,18 @@ Drupal.verticalTab = function (settings) { var self = this; $.extend(this, settings, Drupal.theme('verticalTab', settings)); - - this.link.attr('href', '#' + settings.details.attr('id')); - + this.link.attr('href', "#".concat(settings.details.attr('id'))); this.link.on('click', function (e) { e.preventDefault(); self.focus(); }); - this.link.on('keydown', function (event) { if (event.keyCode === 13) { event.preventDefault(); self.focus(); - $('.vertical-tabs__pane :input:visible:enabled').eq(0).trigger('focus'); } }); - this.details.on('summaryUpdated', function () { self.updateSummary(); }).trigger('summaryUpdated'); @@ -100,38 +95,32 @@ tab.item.removeClass('is-selected'); }).end().show().siblings(':hidden.vertical-tabs__active-tab').val(this.details.attr('id')); this.item.addClass('is-selected'); - $('#active-vertical-tab').remove(); - this.link.append('<span id="active-vertical-tab" class="visually-hidden">' + Drupal.t('(active tab)') + '</span>'); + this.link.append("<span id=\"active-vertical-tab\" class=\"visually-hidden\">".concat(Drupal.t('(active tab)'), "</span>")); }, updateSummary: function updateSummary() { this.summary.html(this.details.drupalGetSummary()); }, tabShow: function tabShow() { this.item.show(); - this.item.closest('.js-form-type-vertical-tabs').show(); - this.item.parent().children('.vertical-tabs__menu-item').removeClass('first').filter(':visible').eq(0).addClass('first'); - this.details.removeClass('vertical-tab--hidden').show(); - this.focus(); return this; }, tabHide: function tabHide() { this.item.hide(); - this.item.parent().children('.vertical-tabs__menu-item').removeClass('first').filter(':visible').eq(0).addClass('first'); - this.details.addClass('vertical-tab--hidden').hide(); - var $firstTab = this.details.siblings('.vertical-tabs__pane:not(.vertical-tab--hidden)').eq(0); + if ($firstTab.length) { $firstTab.data('verticalTab').focus(); } else { this.item.closest('.js-form-type-vertical-tabs').hide(); } + return this; } }; diff --git a/core/modules/big_pipe/js/big_pipe.js b/core/modules/big_pipe/js/big_pipe.js index e386191ac1b99fce7e188ecc06eb885c455b0703..7d174dd6376b52837f2f92e3ff0e74c0ccda4f55 100644 --- a/core/modules/big_pipe/js/big_pipe.js +++ b/core/modules/big_pipe/js/big_pipe.js @@ -34,15 +34,13 @@ element: false, progress: false }); - ajaxObject.success(response, 'success'); } } } var interval = drupalSettings.bigPipeInterval || 50; - - var timeoutID = void 0; + var timeoutID; function bigPipeProcessDocument(context) { if (!context.querySelector('script[data-big-pipe-event="start"]')) { @@ -55,6 +53,7 @@ if (timeoutID) { clearTimeout(timeoutID); } + return true; } @@ -70,11 +69,11 @@ } bigPipeProcess(); - $(window).on('load', function () { if (timeoutID) { clearTimeout(timeoutID); } + bigPipeProcessDocument(document); }); })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/modules/block/js/block.admin.js b/core/modules/block/js/block.admin.js index 641f12d3f3a09c53b9d003657078e7ffc3750353..482433569d497570a4e90324aa6aa8a9545b5ac3 100644 --- a/core/modules/block/js/block.admin.js +++ b/core/modules/block/js/block.admin.js @@ -10,7 +10,7 @@ attach: function attach(context, settings) { var $input = $('input.block-filter-text').once('block-filter-text'); var $table = $($input.attr('data-element')); - var $filterRows = void 0; + var $filterRows; function filterBlockList(e) { var query = $(e.target).val().toLowerCase(); @@ -38,13 +38,11 @@ } } }; - Drupal.behaviors.blockHighlightPlacement = { attach: function attach(context, settings) { if (settings.blockPlacement && $('.js-block-placed').length) { $(context).find('[data-drupal-selector="edit-blocks"]').once('block-highlight').each(function () { var $container = $(this); - $('html, body').animate({ scrollTop: $('.js-block-placed').offset().top - $container.offset().top + $container.scrollTop() }, 500); diff --git a/core/modules/block/js/block.js b/core/modules/block/js/block.js index 9612dfdbf385660dfad481b98a1ebb53171dd12c..4a78a8cfdb435708722a27a8762a575a54ac6051 100644 --- a/core/modules/block/js/block.js +++ b/core/modules/block/js/block.js @@ -16,19 +16,22 @@ var vals = []; var $checkboxes = $(context).find('input[type="checkbox"]:checked + label'); var il = $checkboxes.length; + for (var i = 0; i < il; i++) { vals.push($($checkboxes[i]).html()); } + if (!vals.length) { vals.push(Drupal.t('Not restricted')); } + return vals.join(', '); } $('[data-drupal-selector="edit-visibility-node-type"], [data-drupal-selector="edit-visibility-language"], [data-drupal-selector="edit-visibility-user-role"]').drupalSetSummary(checkboxesSummary); - $('[data-drupal-selector="edit-visibility-request-path"]').drupalSetSummary(function (context) { var $pages = $(context).find('textarea[name="visibility[request_path][pages]"]'); + if (!$pages.val()) { return Drupal.t('Not restricted'); } @@ -37,7 +40,6 @@ }); } }; - Drupal.behaviors.blockDrag = { attach: function attach(context, settings) { if (typeof Drupal.tableDrag === 'undefined' || typeof Drupal.tableDrag.blocks === 'undefined') { @@ -64,8 +66,8 @@ function updateLastPlaced(table, rowObject) { table.find('.color-success').removeClass('color-success'); - var $rowObject = $(rowObject); + if (!$rowObject.is('.drag-previous')) { table.find('.drag-previous').removeClass('drag-previous'); $rowObject.addClass('drag-previous'); @@ -74,14 +76,12 @@ function updateBlockWeights(table, region) { var weight = -Math.round(table.find('.draggable').length / 2); - - table.find('.region-' + region + '-message').nextUntil('.region-title').find('select.block-weight').val(function () { + table.find(".region-".concat(region, "-message")).nextUntil('.region-title').find('select.block-weight').val(function () { return ++weight; }); } var table = $('#blocks'); - var tableDrag = Drupal.tableDrag.blocks; tableDrag.row.prototype.onSwap = function (swappedRow) { @@ -92,22 +92,20 @@ tableDrag.onDrop = function () { var dragObject = this; var $rowElement = $(dragObject.rowObject.element); - var regionRow = $rowElement.prevAll('tr.region-message').get(0); var regionName = regionRow.className.replace(/([^ ]+[ ]+)*region-([^ ]+)-message([ ]+[^ ]+)*/, '$2'); var regionField = $rowElement.find('select.block-region-select'); - if (regionField.find('option[value=' + regionName + ']').length === 0) { + if (regionField.find("option[value=".concat(regionName, "]")).length === 0) { window.alert(Drupal.t('The block cannot be placed in this region.')); - regionField.trigger('change'); } - if (!regionField.is('.block-region-' + regionName)) { + if (!regionField.is(".block-region-".concat(regionName))) { var weightField = $rowElement.find('select.block-weight'); var oldRegionName = weightField[0].className.replace(/([^ ]+[ ]+)*block-weight-([^ ]+)([ ]+[^ ]+)*/, '$2'); - regionField.removeClass('block-region-' + oldRegionName).addClass('block-region-' + regionName); - weightField.removeClass('block-weight-' + oldRegionName).addClass('block-weight-' + regionName); + regionField.removeClass("block-region-".concat(oldRegionName)).addClass("block-region-".concat(regionName)); + weightField.removeClass("block-weight-".concat(oldRegionName)).addClass("block-weight-".concat(regionName)); regionField.val(regionName); } @@ -117,19 +115,18 @@ $(context).find('select.block-region-select').once('block-region-select').on('change', function (event) { var row = $(this).closest('tr'); var select = $(this); - tableDrag.rowObject = new tableDrag.row(row[0]); - var regionMessage = table.find('.region-' + select[0].value + '-message'); + var regionMessage = table.find(".region-".concat(select[0].value, "-message")); var regionItems = regionMessage.nextUntil('.region-message, .region-title'); + if (regionItems.length) { regionItems.last().after(row); } else { regionMessage.after(row); } - updateBlockWeights(table, select[0].value); + updateBlockWeights(table, select[0].value); checkEmptyRegions(table, tableDrag.rowObject); - updateLastPlaced(table, row); if (!tableDrag.changed) { diff --git a/core/modules/book/book.js b/core/modules/book/book.js index 0ed6601a6a9ab7ffbae812234a4951200aa60451..6c4f5554d847b0e363d3d882524898051f209953 100644 --- a/core/modules/book/book.js +++ b/core/modules/book/book.js @@ -15,6 +15,7 @@ if (val === '0') { return Drupal.t('Not in book'); } + if (val === 'new') { return Drupal.t('New book'); } diff --git a/core/modules/ckeditor/js/ckeditor.admin.js b/core/modules/ckeditor/js/ckeditor.admin.js index c3b62ecbcb738213f89c0b81883c25bea604b8d3..1cc5c3038933334fd46c9f4e9938d3bbd82e009d 100644 --- a/core/modules/ckeditor/js/ckeditor.admin.js +++ b/core/modules/ckeditor/js/ckeditor.admin.js @@ -7,21 +7,18 @@ (function ($, Drupal, drupalSettings, _) { Drupal.ckeditor = Drupal.ckeditor || {}; - Drupal.behaviors.ckeditorAdmin = { attach: function attach(context) { var $configurationForm = $(context).find('.ckeditor-toolbar-configuration').once('ckeditor-configuration'); + if ($configurationForm.length) { var $textarea = $configurationForm.find('.js-form-item-editor-settings-toolbar-button-groups').hide().find('textarea'); - $configurationForm.append(drupalSettings.ckeditor.toolbarAdmin); - Drupal.ckeditor.models.Model = new Drupal.ckeditor.Model({ $textarea: $textarea, activeEditorConfig: JSON.parse($textarea.val()), hiddenEditorConfig: drupalSettings.ckeditor.hiddenCKEditorConfig }); - var viewDefaults = { model: Drupal.ckeditor.models.Model, el: $('.ckeditor-toolbar-configuration') @@ -40,22 +37,21 @@ } var $configurationForm = $(context).find('.ckeditor-toolbar-configuration').findOnce('ckeditor-configuration'); + if ($configurationForm.length && Drupal.ckeditor.models && Drupal.ckeditor.models.Model) { var config = Drupal.ckeditor.models.Model.toJSON().activeEditorConfig; var buttons = Drupal.ckeditor.views.controller.getButtonList(config); var $activeToolbar = $('.ckeditor-toolbar-configuration').find('.ckeditor-toolbar-active'); + for (var i = 0; i < buttons.length; i++) { $activeToolbar.trigger('CKEditorToolbarChanged', ['removed', buttons[i]]); } } } }; - Drupal.ckeditor = { views: {}, - models: {}, - registerButtonMove: function registerButtonMove(view, $button, callback) { var $group = $button.closest('.ckeditor-toolbar-group'); @@ -63,8 +59,8 @@ if (view.isProcessing) { return; } - view.isProcessing = true; + view.isProcessing = true; Drupal.ckeditor.openGroupNameDialog(view, $group, callback); } else { view.model.set('isDirty', true); @@ -73,12 +69,14 @@ }, registerGroupMove: function registerGroupMove(view, $group) { var $row = $group.closest('.ckeditor-row'); + if ($row.hasClass('placeholder')) { $row.removeClass('placeholder'); } $row.parent().children().each(function () { $row = $(this); + if ($row.find('.ckeditor-toolbar-group').not('.placeholder').length === 0) { $row.addClass('placeholder'); } @@ -91,25 +89,27 @@ function validateForm(form) { if (form.elements[0].value.length === 0) { var $form = $(form); + if (!$form.hasClass('errors')) { $form.addClass('errors').find('input').addClass('error').attr('aria-invalid', 'true'); - $('<div class="description" >' + Drupal.t('Please provide a name for the button group.') + '</div>').insertAfter(form.elements[0]); + $("<div class=\"description\" >".concat(Drupal.t('Please provide a name for the button group.'), "</div>")).insertAfter(form.elements[0]); } + return true; } + return false; } function closeDialog(action, form) { function shutdown() { dialog.close(action); - delete view.isProcessing; } function namePlaceholderGroup($group, name) { if ($group.hasClass('placeholder')) { - var groupID = 'ckeditor-toolbar-group-aria-label-for-' + Drupal.checkPlain(name.toLowerCase().replace(/\s/g, '-')); + var groupID = "ckeditor-toolbar-group-aria-label-for-".concat(Drupal.checkPlain(name.toLowerCase().replace(/\s/g, '-'))); $group.removeAttr('aria-label').attr('data-drupal-ckeditor-type', 'group').attr('tabindex', 0).children('.ckeditor-toolbar-group-name').attr('id', groupID).end().children('.ckeditor-toolbar-group-buttons').attr('aria-labelledby', groupID); } @@ -128,13 +128,9 @@ if (action === 'apply') { shutdown(); - namePlaceholderGroup($group, Drupal.checkPlain(form.elements[0].value)); - $group.closest('.ckeditor-row.placeholder').addBack().removeClass('placeholder'); - callback(true, $group); - view.model.set('isDirty', true); } } @@ -149,7 +145,6 @@ click: function click() { closeDialog('apply', this); }, - primary: true }, { text: Drupal.t('Cancel'), @@ -162,7 +157,6 @@ var $form = $(this); var $widget = $form.parent(); $widget.find('.ui-dialog-titlebar-close').remove(); - $widget.on('keypress.ckeditor', 'input, button', function (event) { if (event.keyCode === 13) { var $target = $(event.currentTarget); @@ -172,49 +166,50 @@ if (data && data.options && data.options.label) { action = data.options.label.toLowerCase(); } + closeDialog(action, form); event.stopPropagation(); event.stopImmediatePropagation(); event.preventDefault(); } }); - var text = Drupal.t('Editing the name of the new button group in a dialog.'); + if (typeof $group.attr('data-drupal-ckeditor-toolbar-group-name') !== 'undefined') { text = Drupal.t('Editing the name of the "@groupName" button group in a dialog.', { '@groupName': $group.attr('data-drupal-ckeditor-toolbar-group-name') }); } + Drupal.announce(text); }, close: function close(event) { $(event.target).remove(); } }); - dialog.showModal(); - $(document.querySelector('.ckeditor-name-toolbar-group').querySelector('input')).attr('value', $group.attr('data-drupal-ckeditor-toolbar-group-name')).trigger('focus'); } }; - Drupal.behaviors.ckeditorAdminButtonPluginSettings = { attach: function attach(context) { var $context = $(context); var $ckeditorPluginSettings = $context.find('#ckeditor-plugin-settings').once('ckeditor-plugin-settings'); + if ($ckeditorPluginSettings.length) { $ckeditorPluginSettings.find('[data-ckeditor-buttons]').each(function () { var $this = $(this); + if ($this.data('verticalTab')) { $this.data('verticalTab').tabHide(); } else { $this.hide(); } + $this.data('ckeditorButtonPluginSettingsActiveButtons', []); }); - $context.find('.ckeditor-toolbar-active').off('CKEditorToolbarChanged.ckeditorAdminPluginSettings').on('CKEditorToolbarChanged.ckeditorAdminPluginSettings', function (event, action, button) { - var $pluginSettings = $ckeditorPluginSettings.find('[data-ckeditor-buttons~=' + button + ']'); + var $pluginSettings = $ckeditorPluginSettings.find("[data-ckeditor-buttons~=".concat(button, "]")); if ($pluginSettings.length === 0) { return; @@ -222,6 +217,7 @@ var verticalTab = $pluginSettings.data('verticalTab'); var activeButtons = $pluginSettings.data('ckeditorButtonPluginSettingsActiveButtons'); + if (action === 'added') { activeButtons.push(button); @@ -241,6 +237,7 @@ } } } + $pluginSettings.data('ckeditorButtonPluginSettingsActiveButtons', activeButtons); }); } @@ -253,8 +250,8 @@ Drupal.theme.ckeditorToolbarGroup = function () { var group = ''; - group += '<li class="ckeditor-toolbar-group placeholder" role="presentation" aria-label="' + Drupal.t('Place a button to create a new button group.') + '">'; - group += '<h3 class="ckeditor-toolbar-group-name">' + Drupal.t('New group') + '</h3>'; + group += "<li class=\"ckeditor-toolbar-group placeholder\" role=\"presentation\" aria-label=\"".concat(Drupal.t('Place a button to create a new button group.'), "\">"); + group += "<h3 class=\"ckeditor-toolbar-group-name\">".concat(Drupal.t('New group'), "</h3>"); group += '<ul class="ckeditor-buttons ckeditor-toolbar-group-buttons" role="toolbar" data-drupal-ckeditor-button-sorting="target"></ul>'; group += '</li>'; return group; @@ -269,6 +266,6 @@ }; Drupal.theme.ckeditorNewButtonGroup = function () { - return '<li class="ckeditor-add-new-group"><button aria-label="' + Drupal.t('Add a CKEditor button group to the end of this row.') + '">' + Drupal.t('Add group') + '</button></li>'; + return "<li class=\"ckeditor-add-new-group\"><button aria-label=\"".concat(Drupal.t('Add a CKEditor button group to the end of this row.'), "\">").concat(Drupal.t('Add group'), "</button></li>"); }; })(jQuery, Drupal, drupalSettings, _); \ No newline at end of file diff --git a/core/modules/ckeditor/js/ckeditor.drupalimage.admin.js b/core/modules/ckeditor/js/ckeditor.drupalimage.admin.js index 2d4eb69a35705e87cc96cc8a974ef4b79d15de01..284e0054a74526f1799f1584f25465ce2a65f97d 100644 --- a/core/modules/ckeditor/js/ckeditor.drupalimage.admin.js +++ b/core/modules/ckeditor/js/ckeditor.drupalimage.admin.js @@ -10,14 +10,13 @@ attach: function attach() { $('[data-ckeditor-plugin-id="drupalimage"]').drupalSetSummary(function (context) { var root = 'input[name="editor[settings][plugins][drupalimage][image_upload]'; - var $status = $(root + '[status]"]'); - var $maxFileSize = $(root + '[max_size]"]'); - var $maxWidth = $(root + '[max_dimensions][width]"]'); - var $maxHeight = $(root + '[max_dimensions][height]"]'); - var $scheme = $(root + '[scheme]"]:checked'); - + var $status = $("".concat(root, "[status]\"]")); + var $maxFileSize = $("".concat(root, "[max_size]\"]")); + var $maxWidth = $("".concat(root, "[max_dimensions][width]\"]")); + var $maxHeight = $("".concat(root, "[max_dimensions][height]\"]")); + var $scheme = $("".concat(root, "[scheme]\"]:checked")); var maxFileSize = $maxFileSize.val() ? $maxFileSize.val() : $maxFileSize.attr('placeholder'); - var maxDimensions = $maxWidth.val() && $maxHeight.val() ? '(' + $maxWidth.val() + 'x' + $maxHeight.val() + ')' : ''; + var maxDimensions = $maxWidth.val() && $maxHeight.val() ? "(".concat($maxWidth.val(), "x").concat($maxHeight.val(), ")") : ''; if (!$status.is(':checked')) { return Drupal.t('Uploads disabled'); @@ -28,9 +27,11 @@ '@size': maxFileSize, '@dimensions': maxDimensions }); + if ($scheme.length) { - output += '<br />' + $scheme.attr('data-label'); + output += "<br />".concat($scheme.attr('data-label')); } + return output; }); } diff --git a/core/modules/ckeditor/js/ckeditor.js b/core/modules/ckeditor/js/ckeditor.js index 227b3024a5a600955702c6beb8c9f49aa21ad34e..be798f0e05385d8f295715f3e1471965acccf3e3 100644 --- a/core/modules/ckeditor/js/ckeditor.js +++ b/core/modules/ckeditor/js/ckeditor.js @@ -13,16 +13,15 @@ format.editorSettings.drupal = { format: format.format }; - - var label = $('label[for=' + element.getAttribute('id') + ']').html(); + var label = $("label[for=".concat(element.getAttribute('id'), "]")).html(); format.editorSettings.title = Drupal.t('Rich Text Editor, !label field', { '!label': label }); - return !!CKEDITOR.replace(element, format.editorSettings); }, detach: function detach(element, format, trigger) { var editor = CKEDITOR.dom.element.get(element).getEditor(); + if (editor) { if (trigger === 'serialize') { editor.updateElement(); @@ -31,17 +30,19 @@ element.removeAttribute('contentEditable'); } } + return !!editor; }, onChange: function onChange(element, callback) { var editor = CKEDITOR.dom.element.get(element).getEditor(); + if (editor) { editor.on('change', debounce(function () { callback(editor.getData()); }, 400)); - editor.on('mode', function () { var editable = editor.editable(); + if (!editable.isInline()) { editor.on('autoGrow', function (evt) { var doc = evt.editor.document; @@ -56,6 +57,7 @@ } }); } + return !!editor; }, attachInlineEditor: function attachInlineEditor(element, format, mainToolbarId, floatedToolbarId) { @@ -64,7 +66,6 @@ format.editorSettings.drupal = { format: format.format }; - var settings = $.extend(true, {}, format.editorSettings); if (mainToolbarId) { @@ -75,14 +76,13 @@ top: mainToolbarId } }; - var sourceButtonFound = false; + for (var i = 0; !sourceButtonFound && i < settings.toolbar.length; i++) { if (settings.toolbar[i] !== '/') { for (var j = 0; !sourceButtonFound && j < settings.toolbar[i].items.length; j++) { if (settings.toolbar[i].items[j] === 'Source') { sourceButtonFound = true; - settings.toolbar[i].items[j] = 'Sourcedialog'; settingsOverride.extraPlugins += ',sourcedialog'; settingsOverride.removePlugins += ',sourcearea'; @@ -91,13 +91,12 @@ } } - settings.extraPlugins += ',' + settingsOverride.extraPlugins; - settings.removePlugins += ',' + settingsOverride.removePlugins; + settings.extraPlugins += ",".concat(settingsOverride.extraPlugins); + settings.removePlugins += ",".concat(settingsOverride.removePlugins); settings.sharedSpaces = settingsOverride.sharedSpaces; } element.setAttribute('contentEditable', 'true'); - return !!CKEDITOR.inline(element, settings); }, _loadExternalPlugins: function _loadExternalPlugins(format) { @@ -111,69 +110,64 @@ } } }; - Drupal.ckeditor = { saveCallback: null, - openDialog: function openDialog(editor, url, existingValues, saveCallback, dialogSettings) { var $target = $(editor.container.$); + if (editor.elementMode === CKEDITOR.ELEMENT_MODE_REPLACE) { $target = $target.find('.cke_contents'); } $target.css('position', 'relative').find('.ckeditor-dialog-loading').remove(); - var classes = dialogSettings.dialogClass ? dialogSettings.dialogClass.split(' ') : []; classes.push('ui-dialog--narrow'); dialogSettings.dialogClass = classes.join(' '); dialogSettings.autoResize = window.matchMedia('(min-width: 600px)').matches; dialogSettings.width = 'auto'; - - var $content = $('<div class="ckeditor-dialog-loading"><span style="top: -40px;" class="ckeditor-dialog-loading-link">' + Drupal.t('Loading...') + '</span></div>'); + var $content = $("<div class=\"ckeditor-dialog-loading\"><span style=\"top: -40px;\" class=\"ckeditor-dialog-loading-link\">".concat(Drupal.t('Loading...'), "</span></div>")); $content.appendTo($target); - var ckeditorAjaxDialog = Drupal.ajax({ dialog: dialogSettings, dialogType: 'modal', selector: '.ckeditor-dialog-loading-link', url: url, - progress: { type: 'throbber' }, + progress: { + type: 'throbber' + }, submit: { editor_object: existingValues } }); ckeditorAjaxDialog.execute(); - window.setTimeout(function () { - $content.find('span').animate({ top: '0px' }); + $content.find('span').animate({ + top: '0px' + }); }, 1000); - Drupal.ckeditor.saveCallback = saveCallback; } }; - $(window).on('dialogcreate', function (e, dialog, $element, settings) { $('.ui-dialog--narrow').css('zIndex', CKEDITOR.config.baseFloatZIndex + 1); }); - $(window).on('dialog:beforecreate', function (e, dialog, $element, settings) { - $('.ckeditor-dialog-loading').animate({ top: '-40px' }, function () { + $('.ckeditor-dialog-loading').animate({ + top: '-40px' + }, function () { $(this).remove(); }); }); - $(window).on('editor:dialogsave', function (e, values) { if (Drupal.ckeditor.saveCallback) { Drupal.ckeditor.saveCallback(values); } }); - $(window).on('dialog:afterclose', function (e, dialog, $element) { if (Drupal.ckeditor.saveCallback) { Drupal.ckeditor.saveCallback = null; } }); - $(document).on('drupalViewportOffsetChange', function () { CKEDITOR.config.autoGrow_maxHeight = 0.7 * (window.innerHeight - displace.offsets.top - displace.offsets.bottom); }); @@ -181,20 +175,20 @@ function redirectTextareaFragmentToCKEditorInstance() { var hash = window.location.hash.substr(1); var element = document.getElementById(hash); + if (element) { var editor = CKEDITOR.dom.element.get(element).getEditor(); + if (editor) { var id = editor.container.getAttribute('id'); - window.location.replace('#' + id); + window.location.replace("#".concat(id)); } } } - $(window).on('hashchange.ckeditor', redirectTextareaFragmentToCKEditorInstance); + $(window).on('hashchange.ckeditor', redirectTextareaFragmentToCKEditorInstance); CKEDITOR.config.autoGrow_onStartup = true; - CKEDITOR.config.autoGrow_maxHeight = 0.7 * window.innerHeight; - CKEDITOR.timestamp = drupalSettings.ckeditor.timestamp; if (AjaxCommands) { diff --git a/core/modules/ckeditor/js/ckeditor.off-canvas-css-reset.js b/core/modules/ckeditor/js/ckeditor.off-canvas-css-reset.js index c0738bb08f405bae98dd3f68ea3b7854f87ed0c0..948fb845198bea0e922548ffc5c367e9120b5c2c 100644 --- a/core/modules/ckeditor/js/ckeditor.off-canvas-css-reset.js +++ b/core/modules/ckeditor/js/ckeditor.off-canvas-css-reset.js @@ -8,9 +8,9 @@ (function ($, CKEDITOR) { var convertToOffCanvasCss = function convertToOffCanvasCss(originalCss) { var selectorPrefix = '#drupal-off-canvas '; - var skinPath = '' + CKEDITOR.basePath + CKEDITOR.skinName + '/'; - var css = originalCss.substring(originalCss.indexOf('*/') + 2).trim().replace(/}/g, '}' + selectorPrefix).replace(/,/g, ',' + selectorPrefix).replace(/url\(/g, skinPath); - return '' + selectorPrefix + css; + var skinPath = "".concat(CKEDITOR.basePath).concat(CKEDITOR.skinName, "/"); + var css = originalCss.substring(originalCss.indexOf('*/') + 2).trim().replace(/}/g, "}".concat(selectorPrefix)).replace(/,/g, ",".concat(selectorPrefix)).replace(/url\(/g, skinPath); + return "".concat(selectorPrefix).concat(css); }; var insertCss = function insertCss(cssToInsert) { @@ -26,11 +26,9 @@ } CKEDITOR.skinName = CKEDITOR.skin.name; - var editorCssPath = CKEDITOR.skin.getPath('editor'); var dialogCssPath = CKEDITOR.skin.getPath('dialog'); - - var storedOffCanvasCss = window.localStorage.getItem('Drupal.off-canvas.css.' + editorCssPath + dialogCssPath); + var storedOffCanvasCss = window.localStorage.getItem("Drupal.off-canvas.css.".concat(editorCssPath).concat(dialogCssPath)); if (storedOffCanvasCss) { insertCss(storedOffCanvasCss); @@ -40,11 +38,11 @@ $.when($.get(editorCssPath), $.get(dialogCssPath)).done(function (editorCss, dialogCss) { var offCanvasEditorCss = convertToOffCanvasCss(editorCss[0]); var offCanvasDialogCss = convertToOffCanvasCss(dialogCss[0]); - var cssToInsert = '#drupal-off-canvas .cke_inner * {background: transparent;}\n ' + offCanvasEditorCss + '\n ' + offCanvasDialogCss; + var cssToInsert = "#drupal-off-canvas .cke_inner * {background: transparent;}\n ".concat(offCanvasEditorCss, "\n ").concat(offCanvasDialogCss); insertCss(cssToInsert); if (CKEDITOR.timestamp && editorCssPath.indexOf(CKEDITOR.timestamp) !== -1 && dialogCssPath.indexOf(CKEDITOR.timestamp) !== -1) { - window.localStorage.setItem('Drupal.off-canvas.css.' + editorCssPath + dialogCssPath, cssToInsert); + window.localStorage.setItem("Drupal.off-canvas.css.".concat(editorCssPath).concat(dialogCssPath), cssToInsert); } }); }; diff --git a/core/modules/ckeditor/js/ckeditor.stylescombo.admin.js b/core/modules/ckeditor/js/ckeditor.stylescombo.admin.js index 1dc4a9cd7ddd2f588c980908a02493e194e8bbc9..5e29f33f75229ba3706b74a790642b3e342754bf 100644 --- a/core/modules/ckeditor/js/ckeditor.stylescombo.admin.js +++ b/core/modules/ckeditor/js/ckeditor.stylescombo.admin.js @@ -9,24 +9,27 @@ Drupal.behaviors.ckeditorStylesComboSettings = { attach: function attach(context) { var $context = $(context); - var $ckeditorActiveToolbar = $context.find('.ckeditor-toolbar-configuration').find('.ckeditor-toolbar-active'); var previousStylesSet = drupalSettings.ckeditor.hiddenCKEditorConfig.stylesSet; var that = this; $context.find('[name="editor[settings][plugins][stylescombo][styles]"]').on('blur.ckeditorStylesComboSettings', function () { var styles = $.trim($(this).val()); + var stylesSet = that._generateStylesSetSetting(styles); + if (!_.isEqual(previousStylesSet, stylesSet)) { previousStylesSet = stylesSet; - $ckeditorActiveToolbar.trigger('CKEditorPluginSettingsChanged', [{ stylesSet: stylesSet }]); + $ckeditorActiveToolbar.trigger('CKEditorPluginSettingsChanged', [{ + stylesSet: stylesSet + }]); } }); }, _generateStylesSetSetting: function _generateStylesSetSetting(styles) { var stylesSet = []; - styles = styles.replace(/\r/g, '\n'); var lines = styles.split('\n'); + for (var i = 0; i < lines.length; i++) { var style = $.trim(lines[i]); @@ -43,9 +46,10 @@ var label = parts[1]; var classes = selector.split('.'); var element = classes.shift(); - stylesSet.push({ - attributes: { class: classes.join(' ') }, + attributes: { + class: classes.join(' ') + }, element: element, name: label }); @@ -54,17 +58,19 @@ return stylesSet; } }; - Drupal.behaviors.ckeditorStylesComboSettingsSummary = { attach: function attach() { $('[data-ckeditor-plugin-id="stylescombo"]').drupalSetSummary(function (context) { var styles = $.trim($('[data-drupal-selector="edit-editor-settings-plugins-stylescombo-styles"]').val()); + if (styles.length === 0) { return Drupal.t('No styles configured'); } var count = $.trim(styles).split('\n').length; - return Drupal.t('@count styles configured', { '@count': count }); + return Drupal.t('@count styles configured', { + '@count': count + }); }); } }; diff --git a/core/modules/ckeditor/js/models/Model.js b/core/modules/ckeditor/js/models/Model.js index e9b7953b11acc642d18d639c8df2fd5edce70458..c38c580d7766258a1e5e7e4977e16be71919ca3d 100644 --- a/core/modules/ckeditor/js/models/Model.js +++ b/core/modules/ckeditor/js/models/Model.js @@ -9,20 +9,13 @@ Drupal.ckeditor.Model = Backbone.Model.extend({ defaults: { activeEditorConfig: null, - $textarea: null, - isDirty: false, - hiddenEditorConfig: null, - buttonsToFeatures: null, - featuresMetadata: null, - groupNamesVisible: false }, - sync: function sync() { this.get('$textarea').val(JSON.stringify(this.get('activeEditorConfig'))); } diff --git a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js index 6825110a3d8a3416e9317ef503e85049f0416ca8..34b0cc05197c3e5a75dd91ef85be315367098b9b 100644 --- a/core/modules/ckeditor/js/plugins/drupalimage/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimage/plugin.js @@ -22,7 +22,6 @@ } CKEDITOR.plugins.drupallink.registerLinkableWidget('image'); - editor.getCommand('drupalunlink').on('exec', function (evt) { var widget = getFocusedWidget(editor); @@ -31,12 +30,9 @@ } widget.setData('link', null); - this.refresh(editor, editor.elementPath()); - evt.cancel(); }); - editor.getCommand('drupalunlink').on('refresh', function (evt) { var widget = getFocusedWidget(editor); @@ -45,7 +41,6 @@ } this.setState(widget.data.link || widget.wrapper.getAscendant('a') ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED); - evt.cancel(); }); } @@ -54,10 +49,10 @@ requires: 'image2', icons: 'drupalimage', hidpi: true, - beforeInit: function beforeInit(editor) { editor.on('widgetDefinition', function (event) { var widgetDefinition = event.data; + if (widgetDefinition.name !== 'image') { return; } @@ -73,7 +68,6 @@ classes: {} } }; - widgetDefinition.requiredContent = new CKEDITOR.style({ element: 'img', attributes: { @@ -81,7 +75,6 @@ alt: '' } }); - var requiredContent = widgetDefinition.requiredContent.getDefinition(); requiredContent.attributes['data-entity-type'] = ''; requiredContent.attributes['data-entity-uuid'] = ''; @@ -104,13 +97,12 @@ } data['data-entity-type'] = element.attributes['data-entity-type']; - data['data-entity-uuid'] = element.attributes['data-entity-uuid']; - return element; }; var originalGetClasses = widgetDefinition.getClasses; + widgetDefinition.getClasses = function () { var classes = originalGetClasses.call(this); var captionedClasses = (this.editor.config.image2_captionedClass || '').split(/\s+/); @@ -164,13 +156,12 @@ } editor.fire('saveSnapshot'); - var container = widget.wrapper.getParent(true); var image = widget.parts.image; var data = widgetDefinition._dialogValuesToData(dialogReturnValues.attributes); - widget.setData(data); + widget.setData(data); widget = editor.widgets.getByElement(image); if (firstEdit) { @@ -179,15 +170,14 @@ setTimeout(function () { widget.focus(); - editor.fire('saveSnapshot'); }); - return widget; }; }; var originalInit = widgetDefinition.init; + widgetDefinition.init = function () { originalInit.call(this); @@ -196,7 +186,6 @@ } }; }); - editor.widgets.on('instanceCreated', function (event) { var widget = event.data; @@ -206,34 +195,32 @@ widget.on('edit', function (event) { event.cancel(); - editor.execCommand('editdrupalimage', { existingValues: widget.definition._dataToDialogValues(widget.data), saveCallback: widget.definition._createDialogSaveCallback(editor, widget), - dialogTitle: widget.data.src ? editor.config.drupalImage_dialogTitleEdit : editor.config.drupalImage_dialogTitleAdd }); }); }); - editor.addCommand('editdrupalimage', { allowedContent: 'img[alt,!src,width,height,!data-entity-type,!data-entity-uuid]', requiredContent: 'img[alt,src,data-entity-type,data-entity-uuid]', - modes: { wysiwyg: 1 }, + modes: { + wysiwyg: 1 + }, canUndo: true, exec: function exec(editor, data) { var dialogSettings = { title: data.dialogTitle, dialogClass: 'editor-image-dialog' }; - Drupal.ckeditor.openDialog(editor, Drupal.url('editor/dialog/image/' + editor.config.drupal.format), data.existingValues, data.saveCallback, dialogSettings); + Drupal.ckeditor.openDialog(editor, Drupal.url("editor/dialog/image/".concat(editor.config.drupal.format)), data.existingValues, data.saveCallback, dialogSettings); } }); if (editor.ui.addButton) { editor.ui.addButton('DrupalImage', { label: Drupal.t('Image'), - command: 'image' }); } @@ -246,6 +233,7 @@ CKEDITOR.plugins.image2.getLinkAttributesParser = function () { return CKEDITOR.plugins.drupallink.parseLinkAttributes; }; + CKEDITOR.plugins.image2.getLinkAttributesGetter = function () { return CKEDITOR.plugins.drupallink.getLinkAttributes; }; diff --git a/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js b/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js index 7cd215a70589c674a9afa4badca054a250350e97..c4ff524017cbf47372537f2f75a2db26594e0b89 100644 --- a/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupalimagecaption/plugin.js @@ -15,7 +15,6 @@ element.forEach(function (el) { if (el.name === name) { found = el; - return false; } }, CKEDITOR.NODE_ELEMENT); @@ -24,21 +23,18 @@ CKEDITOR.plugins.add('drupalimagecaption', { requires: 'drupalimage', - beforeInit: function beforeInit(editor) { editor.lang.image2.captionPlaceholder = ''; - var placeholderText = editor.config.drupalImageCaption_captionPlaceholderText; - editor.on('widgetDefinition', function (event) { var widgetDefinition = event.data; + if (widgetDefinition.name !== 'image') { return; } var captionFilterEnabled = editor.config.drupalImageCaption_captionFilterEnabled; var alignFilterEnabled = editor.config.drupalImageCaption_alignFilterEnabled; - CKEDITOR.tools.extend(widgetDefinition.features, { caption: { requiredContent: 'img[data-caption]' @@ -47,21 +43,18 @@ requiredContent: 'img[data-align]' } }, true); - var requiredContent = widgetDefinition.requiredContent.getDefinition(); requiredContent.attributes['data-align'] = ''; requiredContent.attributes['data-caption'] = ''; widgetDefinition.requiredContent = new CKEDITOR.style(requiredContent); widgetDefinition.allowedContent.img.attributes['!data-align'] = true; widgetDefinition.allowedContent.img.attributes['!data-caption'] = true; - widgetDefinition.editables.caption.allowedContent = 'a[!href]; em strong cite code br'; - var originalDowncast = widgetDefinition.downcast; + widgetDefinition.downcast = function (element) { var img = findElementByName(element, 'img'); originalDowncast.call(this, img); - var caption = this.editables.caption; var captionHtml = caption && caption.getData(); var attrs = img.attributes; @@ -71,6 +64,7 @@ attrs['data-caption'] = captionHtml; } } + if (alignFilterEnabled) { if (this.data.align !== 'none') { attrs['data-align'] = this.data.align; @@ -85,6 +79,7 @@ }; var originalUpcast = widgetDefinition.upcast; + widgetDefinition.upcast = function (element, data) { if (element.name !== 'img' || !element.attributes['data-entity-type'] || !element.attributes['data-entity-uuid']) { return; @@ -102,16 +97,18 @@ } var retElement = element; - var caption = void 0; + var caption; if (captionFilterEnabled) { caption = attrs['data-caption']; delete attrs['data-caption']; } + if (alignFilterEnabled) { data.align = attrs['data-align']; delete attrs['data-align']; } + data['data-entity-type'] = attrs['data-entity-type']; delete attrs['data-entity-type']; data['data-entity-uuid'] = attrs['data-entity-uuid']; @@ -126,7 +123,9 @@ if (splitBefore) { element.parent.split(index); } + index = element.getIndex(); + if (splitAfter) { element.parent.split(index + 1); } @@ -138,9 +137,7 @@ if (caption) { var figure = new CKEDITOR.htmlParser.element('figure'); caption = new CKEDITOR.htmlParser.fragment.fromHtml(caption, 'figcaption'); - caption.attributes['data-placeholder'] = placeholderText; - element.replaceWith(figure); figure.add(element); figure.add(caption); @@ -154,7 +151,6 @@ var p = new CKEDITOR.htmlParser.element('p'); element.replaceWith(p); p.add(element); - p.addClass(editor.config.image2_alignClasses[1]); retElement = p; } @@ -168,20 +164,18 @@ 'data-caption': 'data-caption', hasCaption: 'hasCaption' }); - var originalCreateDialogSaveCallback = widgetDefinition._createDialogSaveCallback; + widgetDefinition._createDialogSaveCallback = function (editor, widget) { var saveCallback = originalCreateDialogSaveCallback.call(this, editor, widget); - return function (dialogReturnValues) { dialogReturnValues.attributes.hasCaption = !!dialogReturnValues.attributes.hasCaption; - var actualWidget = saveCallback(dialogReturnValues); if (dialogReturnValues.attributes.hasCaption) { actualWidget.editables.caption.setAttribute('data-placeholder', placeholderText); - var captionElement = actualWidget.editables.caption.$; + if (captionElement.childNodes.length === 1 && captionElement.childNodes.item(0).nodeName === 'BR') { captionElement.removeChild(captionElement.childNodes.item(0)); } @@ -193,6 +187,7 @@ afterInit: function afterInit(editor) { var disableButtonIfOnWidget = function disableButtonIfOnWidget(evt) { var widget = editor.widgets.focused; + if (widget && widget.name === 'image') { this.setState(CKEDITOR.TRISTATE_DISABLED); evt.cancel(); @@ -200,8 +195,9 @@ }; if (editor.plugins.justify && !editor.config.drupalImageCaption_alignFilterEnabled) { - var cmd = void 0; + var cmd; var commands = ['justifyleft', 'justifycenter', 'justifyright', 'justifyblock']; + for (var n = 0; n < commands.length; n++) { cmd = editor.getCommand(commands[n]); cmd.contextSensitive = 1; diff --git a/core/modules/ckeditor/js/plugins/drupallink/plugin.js b/core/modules/ckeditor/js/plugins/drupallink/plugin.js index 0458cf5d7ed6195f7ec5aa1f137b617d8fb77626..ca71ef15ddffe75dd0d718f06f585eb5ee460127 100644 --- a/core/modules/ckeditor/js/plugins/drupallink/plugin.js +++ b/core/modules/ckeditor/js/plugins/drupallink/plugin.js @@ -8,10 +8,10 @@ (function ($, Drupal, drupalSettings, CKEDITOR) { function parseAttributes(editor, element) { var parsedAttributes = {}; - var domElement = element.$; - var attribute = void 0; - var attributeName = void 0; + var attribute; + var attributeName; + for (var attrIndex = 0; attrIndex < domElement.attributes.length; attrIndex++) { attribute = domElement.attributes.item(attrIndex); attributeName = attribute.nodeName.toLowerCase(); @@ -20,7 +20,7 @@ continue; } - parsedAttributes[attributeName] = element.data('cke-saved-' + attributeName) || attribute.nodeValue; + parsedAttributes[attributeName] = element.data("cke-saved-".concat(attributeName)) || attribute.nodeValue; } if (parsedAttributes.class) { @@ -35,14 +35,11 @@ Object.keys(data || {}).forEach(function (attributeName) { set[attributeName] = data[attributeName]; }); - set['data-cke-saved-href'] = set.href; - var removed = {}; Object.keys(set).forEach(function (s) { delete removed[s]; }); - return { set: set, removed: CKEDITOR.tools.objectKeys(removed) @@ -57,15 +54,18 @@ function getFocusedLinkableWidget(editor) { var widget = editor.widgets.focused; + if (widget && registeredLinkableWidgets.indexOf(widget.name) !== -1) { return widget; } + return null; } function getSelectedLink(editor) { var selection = editor.getSelection(); var selectedElement = selection.getSelectedElement(); + if (selectedElement && selectedElement.is('a')) { return selectedElement; } @@ -76,13 +76,13 @@ range.shrink(CKEDITOR.SHRINK_TEXT); return editor.elementPath(range.getCommonAncestor()).contains('a', 1); } + return null; } CKEDITOR.plugins.add('drupallink', { icons: 'drupallink,drupalunlink', hidpi: true, - init: function init(editor) { editor.addCommand('drupallink', { allowedContent: { @@ -99,13 +99,15 @@ href: '' } }), - modes: { wysiwyg: 1 }, + modes: { + wysiwyg: 1 + }, canUndo: true, exec: function exec(editor) { var focusedLinkableWidget = getFocusedLinkableWidget(editor); var linkElement = getSelectedLink(editor); - var existingValues = {}; + if (linkElement && linkElement.$) { existingValues = parseAttributes(editor, linkElement); } else if (focusedLinkableWidget && focusedLinkableWidget.data.link) { @@ -138,13 +140,12 @@ style.type = CKEDITOR.STYLE_INLINE; style.applyToRange(range); range.select(); - linkElement = getSelectedLink(editor); } else if (linkElement) { Object.keys(returnValues.attributes || {}).forEach(function (attrName) { if (returnValues.attributes[attrName].length > 0) { var value = returnValues.attributes[attrName]; - linkElement.data('cke-saved-' + attrName, value); + linkElement.data("cke-saved-".concat(attrName), value); linkElement.setAttribute(attrName, value); } else { linkElement.removeAttribute(attrName); @@ -159,8 +160,7 @@ title: linkElement ? editor.config.drupalLink_dialogTitleEdit : editor.config.drupalLink_dialogTitleAdd, dialogClass: 'editor-link-dialog' }; - - Drupal.ckeditor.openDialog(editor, Drupal.url('editor/dialog/link/' + editor.config.drupal.format), existingValues, saveCallback, dialogSettings); + Drupal.ckeditor.openDialog(editor, Drupal.url("editor/dialog/link/".concat(editor.config.drupal.format)), existingValues, saveCallback, dialogSettings); } }); editor.addCommand('drupalunlink', { @@ -182,6 +182,7 @@ }, refresh: function refresh(editor, path) { var element = path.lastElement && path.lastElement.getAscendant('a', true); + if (element && element.getName() === 'a' && element.getAttribute('href') && element.getChildCount()) { this.setState(CKEDITOR.TRISTATE_OFF); } else { @@ -189,7 +190,6 @@ } } }); - editor.setKeystroke(CKEDITOR.CTRL + 75, 'drupallink'); if (editor.ui.addButton) { @@ -222,7 +222,6 @@ group: 'link', order: 1 }, - unlink: { label: Drupal.t('Unlink'), command: 'drupalunlink', @@ -237,24 +236,27 @@ if (!element || element.isReadOnly()) { return null; } + var anchor = getSelectedLink(editor); + if (!anchor) { return null; } var menu = {}; + if (anchor.getAttribute('href') && anchor.getChildCount()) { menu = { link: CKEDITOR.TRISTATE_OFF, unlink: CKEDITOR.TRISTATE_OFF }; } + return menu; }); } } }); - CKEDITOR.plugins.drupallink = { parseLinkAttributes: parseAttributes, getLinkAttributes: getAttributes, diff --git a/core/modules/ckeditor/js/views/AuralView.js b/core/modules/ckeditor/js/views/AuralView.js index 665e655f1f853fcda1fa74024d990f34feb0ed4b..c20ecedca7888e6fef1d8fa77f33451ad2ad4f2c 100644 --- a/core/modules/ckeditor/js/views/AuralView.js +++ b/core/modules/ckeditor/js/views/AuralView.js @@ -14,15 +14,16 @@ 'focus .ckeditor-button-separator a': 'onFocus', 'focus .ckeditor-toolbar-group': 'onFocus' }, - initialize: function initialize() { this.listenTo(this.model, 'change:isDirty', this.announceMove); }, announceMove: function announceMove(model, isDirty) { if (!isDirty) { var item = document.activeElement || null; + if (item) { var $item = $(item); + if ($item.hasClass('ckeditor-toolbar-group')) { this.announceButtonGroupPosition($item); } else if ($item.parent().hasClass('ckeditor-button')) { @@ -33,10 +34,10 @@ }, onFocus: function onFocus(event) { event.stopPropagation(); - var $originalTarget = $(event.target); var $currentTarget = $(event.currentTarget); var $parent = $currentTarget.parent(); + if ($parent.hasClass('ckeditor-button') || $parent.hasClass('ckeditor-button-separator')) { this.announceButtonPosition($currentTarget.parent()); } else if ($originalTarget.attr('role') !== 'button' && $currentTarget.hasClass('ckeditor-toolbar-group')) { @@ -63,6 +64,7 @@ text += '\n'; text += Drupal.t('Press the down arrow key to create a new row.'); } + Drupal.announce(text, 'assertive'); }, announceButtonPosition: function announceButtonPosition($button) { @@ -77,17 +79,15 @@ var positionCount = $buttons.length; var row = $rows.index($row) + 1; var rowCount = $rows.not('.placeholder').length; - var type = $button.attr('data-drupal-ckeditor-type') === 'separator' ? '' : Drupal.t('button'); - var text = void 0; + var text; if ($button.closest('.ckeditor-toolbar-disabled').length > 0) { text = Drupal.t('@name @type.', { '@name': $button.children().attr('aria-label'), '@type': type }); - text += '\n' + Drupal.t('Press the down arrow key to activate.'); - + text += "\n".concat(Drupal.t('Press the down arrow key to activate.')); Drupal.announce(text, 'assertive'); } else if ($group.not('.placeholder').length === 1) { text = Drupal.t('@name @type in position @position of @positionCount in @groupName button group in row @row of @rowCount.', { @@ -109,6 +109,7 @@ text += '\n'; text += Drupal.t('This is the last group. Move the button forward to create a new group.'); } + Drupal.announce(text, 'assertive'); } }, @@ -116,20 +117,21 @@ var $link = $(event.currentTarget); var $button = $link.parent(); var enabled = $button.closest('.ckeditor-toolbar-active').length > 0; - var message = void 0; + var message; if (enabled) { message = Drupal.t('The "@name" button is currently enabled.', { '@name': $link.attr('aria-label') }); - message += '\n' + Drupal.t('Use the keyboard arrow keys to change the position of this button.'); - message += '\n' + Drupal.t('Press the up arrow key on the top row to disable the button.'); + message += "\n".concat(Drupal.t('Use the keyboard arrow keys to change the position of this button.')); + message += "\n".concat(Drupal.t('Press the up arrow key on the top row to disable the button.')); } else { message = Drupal.t('The "@name" button is currently disabled.', { '@name': $link.attr('aria-label') }); - message += '\n' + Drupal.t('Use the down arrow key to move this button into the active toolbar.'); + message += "\n".concat(Drupal.t('Use the down arrow key to move this button into the active toolbar.')); } + Drupal.announce(message); event.preventDefault(); }, @@ -137,21 +139,22 @@ var $link = $(event.currentTarget); var $button = $link.parent(); var enabled = $button.closest('.ckeditor-toolbar-active').length > 0; - var message = void 0; + var message; if (enabled) { message = Drupal.t('This @name is currently enabled.', { '@name': $link.attr('aria-label') }); - message += '\n' + Drupal.t('Use the keyboard arrow keys to change the position of this separator.'); + message += "\n".concat(Drupal.t('Use the keyboard arrow keys to change the position of this separator.')); } else { message = Drupal.t('Separators are used to visually split individual buttons.'); - message += '\n' + Drupal.t('This @name is currently disabled.', { + message += "\n".concat(Drupal.t('This @name is currently disabled.', { '@name': $link.attr('aria-label') - }); - message += '\n' + Drupal.t('Use the down arrow key to move this separator into the active toolbar.'); - message += '\n' + Drupal.t('You may add multiple separators to each button group.'); + })); + message += "\n".concat(Drupal.t('Use the down arrow key to move this separator into the active toolbar.')); + message += "\n".concat(Drupal.t('You may add multiple separators to each button group.')); } + Drupal.announce(message); event.preventDefault(); } diff --git a/core/modules/ckeditor/js/views/ControllerView.js b/core/modules/ckeditor/js/views/ControllerView.js index ca3c83037070d2fc7e98aa2a46e435a773102c97..3194d62f65619a05a8968f507aa88ff95cd33a4c 100644 --- a/core/modules/ckeditor/js/views/ControllerView.js +++ b/core/modules/ckeditor/js/views/ControllerView.js @@ -8,24 +8,21 @@ (function ($, Drupal, Backbone, CKEDITOR, _) { Drupal.ckeditor.ControllerView = Backbone.View.extend({ events: {}, - initialize: function initialize() { this.getCKEditorFeatures(this.model.get('hiddenEditorConfig'), this.disableFeaturesDisallowedByFilters.bind(this)); - this.model.listenTo(this.model, 'change:activeEditorConfig', this.model.sync); this.listenTo(this.model, 'change:isDirty', this.parseEditorDOM); }, parseEditorDOM: function parseEditorDOM(model, isDirty, options) { if (isDirty) { var currentConfig = this.model.get('activeEditorConfig'); - var rows = []; this.$el.find('.ckeditor-active-toolbar-configuration').children('.ckeditor-row').each(function () { var groups = []; - $(this).find('.ckeditor-toolbar-group').each(function () { var $group = $(this); var $buttons = $group.find('.ckeditor-button'); + if ($buttons.length) { var group = { name: $group.attr('data-drupal-ckeditor-toolbar-group-name'), @@ -37,17 +34,18 @@ groups.push(group); } }); + if (groups.length) { rows.push(groups); } }); this.model.set('activeEditorConfig', rows); - this.model.set('isDirty', false); if (options.broadcast !== false) { var prev = this.getButtonList(currentConfig); var next = this.getButtonList(rows); + if (prev.length !== next.length) { this.$el.find('.ckeditor-toolbar-active').trigger('CKEditorToolbarChanged', [prev.length < next.length ? 'added' : 'removed', _.difference(_.union(prev, next), _.intersection(prev, next))[0]]); } @@ -63,52 +61,51 @@ for (var i = 0; i < CKEFeatureRules.length; i++) { var CKERule = CKEFeatureRules[i]; var rule = new Drupal.EditorFeatureHTMLRule(); - var tags = getProperties(CKERule.elements); rule.required.tags = CKERule.propertiesOnly ? [] : tags; rule.allowed.tags = tags; - rule.required.attributes = getProperties(CKERule.requiredAttributes); rule.allowed.attributes = getProperties(CKERule.attributes); - rule.required.styles = getProperties(CKERule.requiredStyles); rule.allowed.styles = getProperties(CKERule.styles); - rule.required.classes = getProperties(CKERule.requiredClasses); rule.allowed.classes = getProperties(CKERule.classes); - rule.raw = CKERule; - feature.addHTMLRule(rule); } }; var hiddenCKEditorID = 'ckeditor-hidden'; + if (CKEDITOR.instances[hiddenCKEditorID]) { CKEDITOR.instances[hiddenCKEditorID].destroy(true); } var hiddenEditorConfig = this.model.get('hiddenEditorConfig'); + if (hiddenEditorConfig.drupalExternalPlugins) { var externalPlugins = hiddenEditorConfig.drupalExternalPlugins; Object.keys(externalPlugins || {}).forEach(function (pluginName) { CKEDITOR.plugins.addExternal(pluginName, externalPlugins[pluginName], ''); }); } - CKEDITOR.inline($('#' + hiddenCKEditorID).get(0), CKEditorConfig); + CKEDITOR.inline($("#".concat(hiddenCKEditorID)).get(0), CKEditorConfig); CKEDITOR.once('instanceReady', function (e) { if (e.editor.name === hiddenCKEditorID) { var CKEFeatureRulesMap = {}; var rules = e.editor.filter.allowedContent; - var rule = void 0; - var name = void 0; + var rule; + var name; + for (var i = 0; i < rules.length; i++) { rule = rules[i]; name = rule.featureName || ':('; + if (!CKEFeatureRulesMap[name]) { CKEFeatureRulesMap[name] = []; } + CKEFeatureRulesMap[name].push(rule); } @@ -119,11 +116,11 @@ convertCKERulesToEditorFeature(feature, CKEFeatureRulesMap[featureName]); features[featureName] = feature; var command = e.editor.getCommand(featureName); + if (command) { buttonsToFeatures[command.uiItems[0].name] = featureName; } }); - callback(features, buttonsToFeatures); } }); @@ -138,25 +135,27 @@ if (!featureName) { featureName = button.toLowerCase(); } + var featuresMetadata = this.model.get('featuresMetadata'); + if (!featuresMetadata[featureName]) { featuresMetadata[featureName] = new Drupal.EditorFeature(featureName); this.model.set('featuresMetadata', featuresMetadata); } + return featuresMetadata[featureName]; }, disableFeaturesDisallowedByFilters: function disableFeaturesDisallowedByFilters(features, buttonsToFeatures) { this.model.set('featuresMetadata', features); - this.model.set('buttonsToFeatures', buttonsToFeatures); - this.broadcastConfigurationChanges(this.$el); - var existingButtons = []; var buttonGroups = _.flatten(this.model.get('activeEditorConfig')); + for (var i = 0; i < buttonGroups.length; i++) { var buttons = buttonGroups[i].items; + for (var k = 0; k < buttons.length; k++) { existingButtons.push(buttons[k]); } @@ -175,9 +174,12 @@ if (Drupal.editorConfiguration.featureIsAllowedByFilters(feature)) { this.$el.find('.ckeditor-toolbar-active').trigger('CKEditorToolbarChanged', ['added', existingButtons[n]]); } else { - $('.ckeditor-toolbar-active li[data-drupal-ckeditor-button-name="' + button + '"]').detach().appendTo('.ckeditor-toolbar-disabled > .ckeditor-toolbar-available > ul'); - - this.model.set({ isDirty: true }, { broadcast: false }); + $(".ckeditor-toolbar-active li[data-drupal-ckeditor-button-name=\"".concat(button, "\"]")).detach().appendTo('.ckeditor-toolbar-disabled > .ckeditor-toolbar-available > ul'); + this.model.set({ + isDirty: true + }, { + broadcast: false + }); } } }, @@ -199,31 +201,27 @@ Object.keys(settingsChanges || {}).forEach(function (key) { hiddenEditorConfig[key] = settingsChanges[key]; }); - getCKEditorFeatures(hiddenEditorConfig, function (features) { var featuresMetadata = view.model.get('featuresMetadata'); Object.keys(features || {}).forEach(function (name) { var feature = features[name]; + if (featuresMetadata.hasOwnProperty(name) && !_.isEqual(featuresMetadata[name], feature)) { Drupal.editorConfiguration.modifiedFeature(feature); } }); - view.model.set('featuresMetadata', features); }); }); }, getButtonList: function getButtonList(config) { var buttons = []; - config = _.flatten(config); - config.forEach(function (group) { group.items.forEach(function (button) { buttons.push(button); }); }); - return _.without(buttons, '-'); } }); diff --git a/core/modules/ckeditor/js/views/KeyboardView.js b/core/modules/ckeditor/js/views/KeyboardView.js index ed0a32994c9992eb470cb745987e003287402ca1..585156744f6d0ebe47ed733cce1075fd7c131453 100644 --- a/core/modules/ckeditor/js/views/KeyboardView.js +++ b/core/modules/ckeditor/js/views/KeyboardView.js @@ -26,13 +26,12 @@ var $button = $target.parent(); var $container = $button.parent(); var $group = $button.closest('.ckeditor-toolbar-group'); - var $row = void 0; + var $row; var containerType = $container.data('drupal-ckeditor-button-sorting'); var $availableButtons = this.$el.find('[data-drupal-ckeditor-button-sorting="source"]'); var $activeButtons = this.$el.find('.ckeditor-toolbar-active'); - var $originalGroup = $group; - var dir = void 0; + var dir; if (containerType === 'source') { if (_.indexOf([40, 63233], event.keyCode) > -1) { @@ -42,11 +41,13 @@ if (_.indexOf(leftRightKeys, event.keyCode) > -1) { var $siblings = $container.children(); var index = $siblings.index($button); + if (_.indexOf([37, 63234], event.keyCode) > -1) { if (index > 0) { $button.insertBefore($container.children().eq(index - 1)); } else { $group = $container.parent().prev(); + if ($group.length > 0) { $group.find('.ckeditor-toolbar-group-buttons').append($button); } else { @@ -67,7 +68,6 @@ if (dir === 'prev' && $row.length === 0) { if ($button.data('drupal-ckeditor-type') === 'separator') { $button.off().remove(); - $activeButtons.find('.ckeditor-toolbar-group-buttons').eq(0).children().eq(0).children().trigger('focus'); } else { $availableButtons.prepend($button); @@ -85,7 +85,6 @@ } view = this; - Drupal.ckeditor.registerButtonMove(this, $button, function (result) { if (!result && $originalGroup) { $originalGroup.find('.ckeditor-buttons').append($button); @@ -93,7 +92,6 @@ $target.trigger('focus'); }); - event.preventDefault(); event.stopPropagation(); } @@ -104,7 +102,6 @@ if (event.keyCode === 13) { var view = this; - window.setTimeout(function () { Drupal.ckeditor.openGroupNameDialog(view, $(event.currentTarget)); }, 0); @@ -116,8 +113,8 @@ var $group = $(event.currentTarget); var $container = $group.parent(); var $siblings = $container.children(); - var index = void 0; - var dir = void 0; + var index; + var dir; if (_.indexOf(leftRightKeys, event.keyCode) > -1) { index = $siblings.index($group); diff --git a/core/modules/ckeditor/js/views/VisualView.js b/core/modules/ckeditor/js/views/VisualView.js index 8dfd531eebf1ec682f7ef7fef5b74cebb3247f9f..fd578b8f9d91fb150d7aaebfc411775cbca887a5 100644 --- a/core/modules/ckeditor/js/views/VisualView.js +++ b/core/modules/ckeditor/js/views/VisualView.js @@ -12,33 +12,32 @@ 'click .ckeditor-groupnames-toggle': 'onGroupNamesToggleClick', 'click .ckeditor-add-new-group button': 'onAddGroupButtonClick' }, - initialize: function initialize() { this.listenTo(this.model, 'change:isDirty change:groupNamesVisible', this.render); - $(Drupal.theme('ckeditorButtonGroupNamesToggle')).prependTo(this.$el.find('#ckeditor-active-toolbar').parent()); - this.render(); }, render: function render(model, value, changedAttributes) { this.insertPlaceholders(); this.applySorting(); - var groupNamesVisible = this.model.get('groupNamesVisible'); if (changedAttributes && changedAttributes.changes && changedAttributes.changes.isDirty) { - this.model.set({ groupNamesVisible: true }, { silent: true }); + this.model.set({ + groupNamesVisible: true + }, { + silent: true + }); groupNamesVisible = true; } + this.$el.find('[data-toolbar="active"]').toggleClass('ckeditor-group-names-are-visible', groupNamesVisible); this.$el.find('.ckeditor-groupnames-toggle').text(groupNamesVisible ? Drupal.t('Hide group names') : Drupal.t('Show group names')).attr('aria-pressed', groupNamesVisible); - return this; }, onGroupNameClick: function onGroupNameClick(event) { var $group = $(event.currentTarget).closest('.ckeditor-toolbar-group'); Drupal.ckeditor.openGroupNameDialog(this, $group); - event.stopPropagation(); event.preventDefault(); }, @@ -50,13 +49,11 @@ function insertNewGroup(success, $group) { if (success) { $group.appendTo($(event.currentTarget).closest('.ckeditor-row').children('.ckeditor-toolbar-groups')); - $group.trigger('focus'); } } Drupal.ckeditor.openGroupNameDialog(this, $(Drupal.theme('ckeditorToolbarGroup')), insertNewGroup); - event.preventDefault(); }, endGroupDrag: function endGroupDrag(event) { @@ -65,12 +62,10 @@ }, startButtonDrag: function startButtonDrag(event) { this.$el.find('a:focus').trigger('blur'); - this.model.set('groupNamesVisible', true); }, endButtonDrag: function endButtonDrag(event) { var $item = $(event.item); - Drupal.ckeditor.registerButtonMove(this, $item, function (success) { $item.find('a').trigger('focus'); }); @@ -87,7 +82,6 @@ onEnd: _this.endButtonDrag.bind(_this) }); }); - Array.prototype.forEach.call(this.el.querySelectorAll('.ckeditor-toolbar-groups:not(.js-sortable)'), function (buttons) { buttons.classList.add('js-sortable'); Sortable.create(buttons, { @@ -95,7 +89,6 @@ onEnd: _this.endGroupDrag.bind(_this) }); }); - Array.prototype.forEach.call(this.el.querySelectorAll('.ckeditor-multiple-buttons:not(.js-sortable)'), function (buttons) { buttons.classList.add('js-sortable'); Sortable.create(buttons, { @@ -119,12 +112,12 @@ } $rows = this.$el.find('.ckeditor-row'); - var len = $rows.length; $rows.filter(function (index, row) { if (index + 1 === len) { return false; } + return $(row).find('.ckeditor-toolbar-group').not('.placeholder').length === 0; }).remove(); }, @@ -133,6 +126,7 @@ var $row = $(this); var $groups = $row.find('.ckeditor-toolbar-group'); var $button = $row.find('.ckeditor-add-new-group'); + if ($button.length === 0) { $row.children('.ckeditor-toolbar-groups').append(Drupal.theme('ckeditorNewButtonGroup')); } else if (!$groups.eq(-1).hasClass('ckeditor-add-new-group')) { diff --git a/core/modules/color/color.js b/core/modules/color/color.js index c92a0df36dcb78ac499b13b14b687e0aeab5f734..233d0b0e44b1bdf170a9ef2b692cad75a50f0226 100644 --- a/core/modules/color/color.js +++ b/core/modules/color/color.js @@ -8,27 +8,25 @@ (function ($, Drupal) { Drupal.behaviors.color = { attach: function attach(context, settings) { - var i = void 0; - var j = void 0; - var colors = void 0; - + var i; + var j; + var colors; var form = $(context).find('#system-theme-settings .color-form').once('color'); + if (form.length === 0) { return; } + var inputs = []; var hooks = []; var locks = []; var focused = null; - $('<div class="color-placeholder"></div>').once('color').prependTo(form); var farb = $.farbtastic('.color-placeholder'); - var reference = settings.color.reference; Object.keys(reference || {}).forEach(function (color) { reference[color] = farb.RGBToHSL(farb.unpack(reference[color])); }); - var height = []; var width = []; @@ -43,16 +41,15 @@ } function shiftColor(given, ref1, ref2) { - var d = void 0; - + var d; given = farb.RGBToHSL(farb.unpack(given)); - given[0] += ref2[0] - ref1[0]; if (ref1[1] === 0 || ref2[1] === 0) { given[1] = ref2[1]; } else { d = ref1[1] / ref2[1]; + if (d > 1) { given[1] /= d; } else { @@ -64,6 +61,7 @@ given[2] = ref2[2]; } else { d = ref1[2] / ref2[2]; + if (d > 1) { given[2] /= d; } else { @@ -75,8 +73,7 @@ } function callback(input, color, propagate, colorScheme) { - var matched = void 0; - + var matched; $(input).css({ backgroundColor: color, color: farb.RGBToHSL(farb.unpack(color))[2] > 0.5 ? '#000' : '#fff' @@ -87,17 +84,21 @@ if (propagate) { i = input.i; + for (j = i + 1;; ++j) { if (!locks[j - 1] || $(locks[j - 1]).is('.is-unlocked')) { break; } + matched = shiftColor(color, reference[input.key], reference[inputs[j].key]); callback(inputs[j], matched, false); } + for (j = i - 1;; --j) { if (!locks[j] || $(locks[j]).is('.is-unlocked')) { break; } + matched = shiftColor(color, reference[input.key], reference[inputs[j].key]); callback(inputs[j], matched, false); } @@ -112,25 +113,23 @@ } Object.keys(settings.gradients || {}).forEach(function (i) { - $('.color-preview').once('color').append('<div id="gradient-' + i + '"></div>'); - var gradient = $('.color-preview #gradient-' + i); - + $('.color-preview').once('color').append("<div id=\"gradient-".concat(i, "\"></div>")); + var gradient = $(".color-preview #gradient-".concat(i)); height.push(parseInt(gradient.css('height'), 10) / 10); - width.push(parseInt(gradient.css('width'), 10) / 10); for (j = 0; j < (settings.gradients[i].direction === 'vertical' ? height[i] : width[i]); ++j) { gradient.append('<div class="gradient-line"></div>'); } }); - form.find('#edit-scheme').on('change', function () { var schemes = settings.color.schemes; var colorScheme = this.options[this.selectedIndex].value; + if (colorScheme !== '' && schemes[colorScheme]) { colors = schemes[colorScheme]; Object.keys(colors || {}).forEach(function (fieldName) { - callback($('#edit-palette-' + fieldName), colors[fieldName], false, true); + callback($("#edit-palette-".concat(fieldName)), colors[fieldName], false, true); }); preview(); } @@ -153,14 +152,14 @@ form.find('.js-color-palette input.form-text').each(function () { this.key = this.id.substring(13); - farb.linkTo(function () {}).setColor('#000').linkTo(this); - var i = inputs.length; + if (inputs.length) { var toggleClick = true; - var lock = $('<button class="color-palette__lock">' + Drupal.t('Unlock') + '</button>').on('click', function (e) { + var lock = $("<button class=\"color-palette__lock\">".concat(Drupal.t('Unlock'), "</button>")).on('click', function (e) { e.preventDefault(); + if (toggleClick) { $(this).addClass('is-unlocked').html(Drupal.t('Lock')); $(hooks[i - 1]).attr('class', locks[i - 2] && $(locks[i - 2]).is(':not(.is-unlocked)') ? 'color-palette__hook is-up' : 'color-palette__hook'); @@ -170,6 +169,7 @@ $(hooks[i - 1]).attr('class', locks[i - 2] && $(locks[i - 2]).is(':not(.is-unlocked)') ? 'color-palette__hook is-both' : 'color-palette__hook is-down'); $(hooks[i]).attr('class', locks[i] && $(locks[i]).is(':not(.is-unlocked)') ? 'color-palette__hook is-both' : 'color-palette__hook is-up'); } + toggleClick = !toggleClick; }); $(this).after(lock); @@ -179,16 +179,12 @@ var hook = $('<div class="color-palette__hook"></div>'); $(this).after(hook); hooks.push(hook); - $(this).parent().find('.color-palette__lock').trigger('click'); this.i = i; inputs.push(this); }).on('focus', focus); - form.find('.js-color-palette label'); - inputs[0].focus(); - preview(); } }; diff --git a/core/modules/color/preview.es6.js b/core/modules/color/preview.es6.js index f681dbebcaace755727fc9f7e70d6d10b913af63..cb716e2477e8d0e8af1faff7de7731e8dcb788cd 100644 --- a/core/modules/color/preview.es6.js +++ b/core/modules/color/preview.es6.js @@ -65,18 +65,14 @@ colorStart = farb.unpack( form .find( - `.color-palette input[name="palette[${ - settings.gradients[i].colors[0] - }]"]`, + `.color-palette input[name="palette[${settings.gradients[i].colors[0]}]"]`, ) .val(), ); colorEnd = farb.unpack( form .find( - `.color-palette input[name="palette[${ - settings.gradients[i].colors[1] - }]"]`, + `.color-palette input[name="palette[${settings.gradients[i].colors[1]}]"]`, ) .val(), ); diff --git a/core/modules/color/preview.js b/core/modules/color/preview.js index 557e7dbdce3b2b794cf958574675f6b696f5470f..a65d0ea175b4d9245f128e7a9c5189bcc91c4e23 100644 --- a/core/modules/color/preview.js +++ b/core/modules/color/preview.js @@ -8,11 +8,9 @@ (function ($, Drupal) { Drupal.color = { callback: function callback(context, settings, form, farb, height, width) { - var accum = void 0; - var delta = void 0; - + var accum; + var delta; form.find('.color-preview').css('backgroundColor', form.find('.color-palette input[name="palette[base]"]').val()); - form.find('#text').css('color', form.find('.color-palette input[name="palette[text]"]').val()); form.find('#text a, #text h2').css('color', form.find('.color-palette input[name="palette[link]"]').val()); @@ -23,19 +21,19 @@ element.style.backgroundColor = farb.pack(accum); } - var colorStart = void 0; - var colorEnd = void 0; + var colorStart; + var colorEnd; Object.keys(settings.gradients || {}).forEach(function (i) { - colorStart = farb.unpack(form.find('.color-palette input[name="palette[' + settings.gradients[i].colors[0] + ']"]').val()); - colorEnd = farb.unpack(form.find('.color-palette input[name="palette[' + settings.gradients[i].colors[1] + ']"]').val()); + colorStart = farb.unpack(form.find(".color-palette input[name=\"palette[".concat(settings.gradients[i].colors[0], "]\"]")).val()); + colorEnd = farb.unpack(form.find(".color-palette input[name=\"palette[".concat(settings.gradients[i].colors[1], "]\"]")).val()); + if (colorStart && colorEnd) { delta = []; Object.keys(colorStart || {}).forEach(function (colorStartKey) { delta[colorStartKey] = (colorEnd[colorStartKey] - colorStart[colorStartKey]) / (settings.gradients[i].vertical ? height[i] : width[i]); }); accum = colorStart; - - form.find('#gradient-' + i + ' > div').each(gradientLineColor); + form.find("#gradient-".concat(i, " > div")).each(gradientLineColor); } }); } diff --git a/core/modules/comment/js/comment-new-indicator.js b/core/modules/comment/js/comment-new-indicator.js index 88587d5724c31c45b86a6232094f729ba777f550..a59a70803c82cfb0f4a3df32ee2f9bde22ebec3a 100644 --- a/core/modules/comment/js/comment-new-indicator.js +++ b/core/modules/comment/js/comment-new-indicator.js @@ -9,8 +9,7 @@ function processCommentNewIndicators($placeholders) { var isFirstNewComment = true; var newCommentString = Drupal.t('new'); - var $placeholder = void 0; - + var $placeholder; $placeholders.each(function (index, placeholder) { $placeholder = $(placeholder); var timestamp = parseInt($placeholder.attr('data-comment-timestamp'), 10); @@ -40,6 +39,7 @@ var $placeholder = $(this); var commentTimestamp = parseInt($placeholder.attr('data-comment-timestamp'), 10); var nodeID = $placeholder.closest('[data-history-node-id]').attr('data-history-node-id'); + if (Drupal.history.needsServerCheck(nodeID, commentTimestamp)) { nodeIDs.push(nodeID); return true; diff --git a/core/modules/comment/js/node-new-comments-link.js b/core/modules/comment/js/node-new-comments-link.js index b7439940f61ac81bc5739ca3ef73af8ea865bcdc..a3a821ddd140003de1f767cb91ce392b619b440f 100644 --- a/core/modules/comment/js/node-new-comments-link.js +++ b/core/modules/comment/js/node-new-comments-link.js @@ -21,7 +21,7 @@ function processNodeNewCommentLinks($placeholders) { var $placeholdersToUpdate = {}; var fieldName = 'comment'; - var $placeholder = void 0; + var $placeholder; $placeholders.each(function (index, placeholder) { $placeholder = $(placeholder); var timestamp = parseInt($placeholder.attr('data-history-node-last-comment-timestamp'), 10); @@ -35,8 +35,8 @@ remove($placeholder); } }); - var nodeIDs = Object.keys($placeholdersToUpdate); + if (nodeIDs.length === 0) { return; } @@ -56,7 +56,10 @@ $.ajax({ url: Drupal.url('comments/render_new_comments_node_links'), type: 'POST', - data: { 'node_ids[]': nodeIDs, field_name: fieldName }, + data: { + 'node_ids[]': nodeIDs, + field_name: fieldName + }, dataType: 'json', success: render }); @@ -70,9 +73,9 @@ var $placeholder = $(this); var lastCommentTimestamp = parseInt($placeholder.attr('data-history-node-last-comment-timestamp'), 10); var nodeID = $placeholder.closest('[data-history-node-id]').attr('data-history-node-id'); + if (Drupal.history.needsServerCheck(nodeID, lastCommentTimestamp)) { nodeIDs.push(nodeID); - hide($placeholder); return true; } diff --git a/core/modules/content_translation/content_translation.admin.js b/core/modules/content_translation/content_translation.admin.js index 33e3fbd45be22de21ae9b65cf18500650e6e19a2..fcf92a971b4fb5fbcf7ff4bc7be5ed96ae2dccd8 100644 --- a/core/modules/content_translation/content_translation.admin.js +++ b/core/modules/content_translation/content_translation.admin.js @@ -10,7 +10,7 @@ attach: function attach(context) { var $context = $(context); var options = drupalSettings.contentTranslationDependentOptions; - var $fields = void 0; + var $fields; function fieldsChangeHandler($fields, dependentColumns) { return function (e) { @@ -20,9 +20,8 @@ if (options && options.dependent_selectors) { Object.keys(options.dependent_selectors).forEach(function (field) { - $fields = $context.find('input[name^="' + field + '"]'); + $fields = $context.find("input[name^=\"".concat(field, "\"]")); var dependentColumns = options.dependent_selectors[field]; - $fields.on('change', fieldsChangeHandler($fields, dependentColumns)); Drupal.behaviors.contentTranslationDependentOptions.check($fields, dependentColumns); }); @@ -30,7 +29,7 @@ }, check: function check($fields, dependentColumns, $changed) { var $element = $changed; - var column = void 0; + var column; function filterFieldsList(index, field) { return $(field).val() === column; @@ -43,7 +42,7 @@ $element = $fields.filter(filterFieldsList); } - if ($element.is('input[value="' + column + '"]:checked')) { + if ($element.is("input[value=\"".concat(column, "\"]:checked"))) { $fields.prop('checked', true).not($element).prop('disabled', true); } else { $fields.prop('disabled', false); @@ -51,24 +50,24 @@ }); } }; - Drupal.behaviors.contentTranslation = { attach: function attach(context) { $(context).find('table .bundle-settings .translatable :input').once('translation-entity-admin-hide').each(function () { var $input = $(this); var $bundleSettings = $input.closest('.bundle-settings'); + if (!$input.is(':checked')) { $bundleSettings.nextUntil('.bundle-settings').hide(); } else { $bundleSettings.nextUntil('.bundle-settings', '.field-settings').find('.translatable :input:not(:checked)').closest('.field-settings').nextUntil(':not(.column-settings)').hide(); } }); - $('body').once('translation-entity-admin-bind').on('click', 'table .bundle-settings .translatable :input', function (e) { var $target = $(e.target); var $bundleSettings = $target.closest('.bundle-settings'); var $settings = $bundleSettings.nextUntil('.bundle-settings'); var $fieldSettings = $settings.filter('.field-settings'); + if ($target.is(':checked')) { $bundleSettings.find('.operations :input[name$="[language_alterable]"]').prop('checked', true); $fieldSettings.find('.translatable :input').prop('checked', true); @@ -80,6 +79,7 @@ var $target = $(e.target); var $fieldSettings = $target.closest('.field-settings'); var $columnSettings = $fieldSettings.nextUntil('.field-settings, .bundle-settings'); + if ($target.is(':checked')) { $columnSettings.show(); } else { diff --git a/core/modules/contextual/js/contextual.js b/core/modules/contextual/js/contextual.js index 6264b74c20999a0a529e3248ef6d756100ca657d..97a7453d3f62f8e23149b9e99809ef378f51d6c6 100644 --- a/core/modules/contextual/js/contextual.js +++ b/core/modules/contextual/js/contextual.js @@ -12,9 +12,9 @@ close: Drupal.t('Close') } }); - var cachedPermissionsHash = storage.getItem('Drupal.contextual.permissionsHash'); var permissionsHash = drupalSettings.user.permissionsHash; + if (cachedPermissionsHash !== permissionsHash) { if (typeof permissionsHash === 'string') { _.chain(storage).keys().each(function (key) { @@ -23,6 +23,7 @@ } }); } + storage.setItem('Drupal.contextual.permissionsHash', permissionsHash); } @@ -35,60 +36,60 @@ var firstTop = $contextuals.eq(0).offset().top; var secondTop = $contextuals.eq(1).offset().top; + if (firstTop === secondTop) { var $nestedContextual = $contextuals.eq(1); - var height = 0; var $trigger = $nestedContextual.find('.trigger'); - $trigger.removeClass('visually-hidden'); height = $nestedContextual.height(); $trigger.addClass('visually-hidden'); - - $nestedContextual.css({ top: $nestedContextual.position().top + height }); + $nestedContextual.css({ + top: $nestedContextual.position().top + height + }); } } function initContextual($contextual, html) { var $region = $contextual.closest('.contextual-region'); var contextual = Drupal.contextual; - $contextual.html(html).addClass('contextual').prepend(Drupal.theme('contextualTrigger')); - - var destination = 'destination=' + Drupal.encodePath(Drupal.url(drupalSettings.path.currentPath)); + var destination = "destination=".concat(Drupal.encodePath(Drupal.url(drupalSettings.path.currentPath))); $contextual.find('.contextual-links a').each(function () { var url = this.getAttribute('href'); var glue = url.indexOf('?') === -1 ? '?' : '&'; this.setAttribute('href', url + glue + destination); }); - var model = new contextual.StateModel({ title: $region.find('h2').eq(0).text().trim() }); - var viewOptions = $.extend({ el: $contextual, model: model }, options); + var viewOptions = $.extend({ + el: $contextual, + model: model + }, options); contextual.views.push({ visual: new contextual.VisualView(viewOptions), aural: new contextual.AuralView(viewOptions), keyboard: new contextual.KeyboardView(viewOptions) }); - contextual.regionViews.push(new contextual.RegionView($.extend({ el: $region, model: model }, options))); - + contextual.regionViews.push(new contextual.RegionView($.extend({ + el: $region, + model: model + }, options))); contextual.collection.add(model); - $(document).trigger('drupalContextualLinkAdded', { $el: $contextual, $region: $region, model: model }); - adjustIfNestedAndOverlapping($contextual); } Drupal.behaviors.contextual = { attach: function attach(context) { var $context = $(context); - var $placeholders = $context.find('[data-contextual-id]').once('contextual-render'); + if ($placeholders.length === 0) { return; } @@ -100,17 +101,18 @@ token: $(this).attr('data-contextual-token') }); }); - var uncachedIDs = []; var uncachedTokens = []; ids.forEach(function (contextualID) { - var html = storage.getItem('Drupal.contextual.' + contextualID.id); + var html = storage.getItem("Drupal.contextual.".concat(contextualID.id)); + if (html && html.length) { window.setTimeout(function () { - initContextual($context.find('[data-contextual-id="' + contextualID.id + '"]'), html); + initContextual($context.find("[data-contextual-id=\"".concat(contextualID.id, "\"]")), html); }); return; } + uncachedIDs.push(contextualID.id); uncachedTokens.push(contextualID.token); }); @@ -119,14 +121,17 @@ $.ajax({ url: Drupal.url('contextual/render'), type: 'POST', - data: { 'ids[]': uncachedIDs, 'tokens[]': uncachedTokens }, + data: { + 'ids[]': uncachedIDs, + 'tokens[]': uncachedTokens + }, dataType: 'json', success: function success(results) { _.each(results, function (html, contextualID) { - storage.setItem('Drupal.contextual.' + contextualID, html); + storage.setItem("Drupal.contextual.".concat(contextualID), html); if (html.length > 0) { - $placeholders = $context.find('[data-contextual-id="' + contextualID + '"]'); + $placeholders = $context.find("[data-contextual-id=\"".concat(contextualID, "\"]")); for (var i = 0; i < $placeholders.length; i++) { initContextual($placeholders.eq(i), html); @@ -138,13 +143,10 @@ } } }; - Drupal.contextual = { views: [], - regionViews: [] }; - Drupal.contextual.collection = new Backbone.Collection([], { model: Drupal.contextual.StateModel }); diff --git a/core/modules/contextual/js/contextual.toolbar.js b/core/modules/contextual/js/contextual.toolbar.js index 3b026d7355554c89be4e7efde0f6f314da5070d9..5f193ed06adcdf5d09247ec4f48c5043df8738da 100644 --- a/core/modules/contextual/js/contextual.toolbar.js +++ b/core/modules/contextual/js/contextual.toolbar.js @@ -23,7 +23,6 @@ }, { contextualCollection: Drupal.contextual.collection }); - var viewOptions = { el: $('.toolbar .toolbar-bar .contextual-toolbar-tab'), model: contextualToolbar.model, @@ -40,7 +39,6 @@ } } }; - Drupal.contextualToolbar = { model: null }; diff --git a/core/modules/contextual/js/models/StateModel.js b/core/modules/contextual/js/models/StateModel.js index 306f5672ab53d66a0f9c93153336a4a79b083cdc..8be38641b8fd8e2e97f0a710f610d4250a4707f1 100644 --- a/core/modules/contextual/js/models/StateModel.js +++ b/core/modules/contextual/js/models/StateModel.js @@ -9,22 +9,19 @@ Drupal.contextual.StateModel = Backbone.Model.extend({ defaults: { title: '', - regionIsHovered: false, - hasFocus: false, - isOpen: false, - isLocked: false }, - toggleOpen: function toggleOpen() { var newIsOpen = !this.get('isOpen'); this.set('isOpen', newIsOpen); + if (newIsOpen) { this.focus(); } + return this; }, close: function close() { @@ -45,6 +42,7 @@ if (!this.get('isOpen')) { this.set('hasFocus', false); } + return this; } }); diff --git a/core/modules/contextual/js/toolbar/models/StateModel.js b/core/modules/contextual/js/toolbar/models/StateModel.js index 277dec0b010e84f1b44927e7b32469490b037c95..e9780c8f8094ea855b41bcc62ea2e4eab7290098 100644 --- a/core/modules/contextual/js/toolbar/models/StateModel.js +++ b/core/modules/contextual/js/toolbar/models/StateModel.js @@ -9,20 +9,14 @@ Drupal.contextualToolbar.StateModel = Backbone.Model.extend({ defaults: { isViewing: true, - isVisible: false, - contextualCount: 0, - tabbingContext: null }, - initialize: function initialize(attrs, options) { this.listenTo(options.contextualCollection, 'reset remove add', this.countContextualLinks); this.listenTo(options.contextualCollection, 'add', this.lockNewContextualLinks); - this.listenTo(this, 'change:contextualCount', this.updateVisibility); - this.listenTo(this, 'change:isViewing', function (model, isViewing) { options.contextualCollection.each(function (contextualModel) { contextualModel.set('isLocked', !isViewing); diff --git a/core/modules/contextual/js/toolbar/views/AuralView.js b/core/modules/contextual/js/toolbar/views/AuralView.js index d3af87bc8f28a2a3c8a5fc30666216ccba20b782..1de1d173f3a368d7221c00a43e6f9afeff3484a4 100644 --- a/core/modules/contextual/js/toolbar/views/AuralView.js +++ b/core/modules/contextual/js/toolbar/views/AuralView.js @@ -8,19 +8,15 @@ (function ($, Drupal, Backbone, _) { Drupal.contextualToolbar.AuralView = Backbone.View.extend({ announcedOnce: false, - initialize: function initialize(options) { this.options = options; - this.listenTo(this.model, 'change', this.render); this.listenTo(this.model, 'change:isViewing', this.manageTabbing); - $(document).on('keyup', _.bind(this.onKeypress, this)); this.manageTabbing(); }, render: function render() { this.$el.find('button').attr('aria-pressed', !this.model.get('isViewing')); - return this; }, manageTabbing: function manageTabbing() { @@ -30,6 +26,7 @@ if (tabbingContext.active) { Drupal.announce(this.options.strings.tabbingReleased); } + tabbingContext.release(); } @@ -50,7 +47,6 @@ onKeypress: function onKeypress(event) { if (!this.announcedOnce && event.keyCode === 9 && !this.model.get('isViewing')) { this.announceTabbingConstraint(); - this.announcedOnce = true; } diff --git a/core/modules/contextual/js/toolbar/views/VisualView.js b/core/modules/contextual/js/toolbar/views/VisualView.js index c02fe0cc09fe94ce94f1de87e86d9b387a692d09..fb8ecd3c5cb4a6f1caa60adc546baf929bee4313 100644 --- a/core/modules/contextual/js/toolbar/views/VisualView.js +++ b/core/modules/contextual/js/toolbar/views/VisualView.js @@ -17,7 +17,6 @@ click: function click() { this.model.set('isViewing', !this.model.get('isViewing')); }, - touchend: touchEndToClick }; }, @@ -27,9 +26,7 @@ }, render: function render() { this.$el.toggleClass('hidden', !this.model.get('isVisible')); - this.$el.find('button').toggleClass('is-active', !this.model.get('isViewing')); - return this; }, persist: function persist(model, isViewing) { diff --git a/core/modules/contextual/js/views/AuralView.js b/core/modules/contextual/js/views/AuralView.js index 23bcc7d72eb4882057d876d10325358cc0d44828..b26ead11955b090328367f231bdfc8b49c0915f2 100644 --- a/core/modules/contextual/js/views/AuralView.js +++ b/core/modules/contextual/js/views/AuralView.js @@ -9,16 +9,12 @@ Drupal.contextual.AuralView = Backbone.View.extend({ initialize: function initialize(options) { this.options = options; - this.listenTo(this.model, 'change', this.render); - this.render(); }, render: function render() { var isOpen = this.model.get('isOpen'); - this.$el.find('.contextual-links').prop('hidden', !isOpen); - this.$el.find('.trigger').text(Drupal.t('@action @title configuration options', { '@action': !isOpen ? this.options.strings.open : this.options.strings.close, '@title': this.model.get('title') diff --git a/core/modules/contextual/js/views/KeyboardView.js b/core/modules/contextual/js/views/KeyboardView.js index af8960ed97c0af2abd9443c48de8bee2a4bfb427..2f28f865852cc6aa6ed81eb005a97f0eeedb87d7 100644 --- a/core/modules/contextual/js/views/KeyboardView.js +++ b/core/modules/contextual/js/views/KeyboardView.js @@ -20,7 +20,6 @@ }, 150); } }, - initialize: function initialize() { this.timer = NaN; }, diff --git a/core/modules/contextual/js/views/RegionView.js b/core/modules/contextual/js/views/RegionView.js index 51317695475b159027e7390cf0f490fea3a5a87e..e156b907511d51e18e54ac0d26f8d6f089a1784a 100644 --- a/core/modules/contextual/js/views/RegionView.js +++ b/core/modules/contextual/js/views/RegionView.js @@ -20,6 +20,7 @@ if (Modernizr.touchevents) { mapping = {}; } + return mapping; }, initialize: function initialize() { @@ -27,7 +28,6 @@ }, render: function render() { this.$el.toggleClass('focus', this.model.get('hasFocus')); - return this; } }); diff --git a/core/modules/contextual/js/views/VisualView.js b/core/modules/contextual/js/views/VisualView.js index 9861ad1754054a8b1401e8bf8a8260e2e06b2395..dc5007504ca8d3831fae24458019d1fbb48c9bbf 100644 --- a/core/modules/contextual/js/views/VisualView.js +++ b/core/modules/contextual/js/views/VisualView.js @@ -12,6 +12,7 @@ event.preventDefault(); event.target.click(); }; + var mapping = { 'click .trigger': function clickTrigger() { this.model.toggleOpen(); @@ -28,6 +29,7 @@ this.model.focus(); }; } + return mapping; }, initialize: function initialize() { @@ -35,9 +37,7 @@ }, render: function render() { var isOpen = this.model.get('isOpen'); - var isVisible = this.model.get('isLocked') || this.model.get('regionIsHovered') || isOpen; - this.$el.toggleClass('open', isOpen).find('.trigger').toggleClass('visually-hidden', !isVisible); if ('isOpen' in this.model.changed) { diff --git a/core/modules/editor/js/editor.admin.js b/core/modules/editor/js/editor.admin.js index b229620ad40130f3deba872ff1d5390cece36c11..5f953bf49482e5b6b651aa541c0034a56027f222 100644 --- a/core/modules/editor/js/editor.admin.js +++ b/core/modules/editor/js/editor.admin.js @@ -27,14 +27,12 @@ for (var r = 0; r < feature.rules.length; r++) { var featureRule = feature.rules[r]; - var requiredTags = featureRule.required.tags; + for (var t = 0; t < requiredTags.length; t++) { universe[requiredTags[t]] = { tag: false, - touchedByAllowedPropertyRule: false, - touchedBytouchedByForbiddenPropertyRule: false }; } @@ -45,9 +43,10 @@ for (var p = 0; p < properties.length; p++) { var property = properties[p]; + for (var pv = 0; pv < featureRule.required[property].length; pv++) { var propertyValue = featureRule.required[property]; - universe[requiredTags][property + ':' + propertyValue] = false; + universe[requiredTags]["".concat(property, ":").concat(propertyValue)] = false; } } } @@ -60,7 +59,7 @@ return false; } - var key = property + ':' + propertyValue; + var key = "".concat(property, ":").concat(propertyValue); if (allowing) { universe[tag].touchedByAllowedPropertyRule = true; @@ -71,32 +70,38 @@ if (allowing) { universe[tag][key] = true; } + return true; } + return false; } - var atLeastOneFound = false; var regex = key.replace(/\*/g, '[^ ]*'); + _.each(_.keys(universe[tag]), function (key) { if (key.match(regex)) { atLeastOneFound = true; + if (allowing) { universe[tag][key] = true; } } }); + return atLeastOneFound; } function findPropertyValuesOnAllTags(universe, property, propertyValues, allowing) { var atLeastOneFound = false; + _.each(_.keys(universe), function (tag) { if (findPropertyValuesOnTag(universe, tag, property, propertyValues, allowing)) { atLeastOneFound = true; } }); + return atLeastOneFound; } @@ -106,21 +111,25 @@ } var atLeastOneFound = false; + _.each(propertyValues, function (propertyValue) { if (findPropertyValueOnTag(universe, tag, property, propertyValue, allowing)) { atLeastOneFound = true; } }); + return atLeastOneFound; } function deleteAllTagsFromUniverseIfAllowed(universe) { var atLeastOneDeleted = false; + _.each(_.keys(universe), function (tag) { if (deleteFromUniverseIfAllowed(universe, tag)) { atLeastOneDeleted = true; } }); + return atLeastOneDeleted; } @@ -128,10 +137,12 @@ if (tag === '*') { return deleteAllTagsFromUniverseIfAllowed(universe); } + if (_.has(universe, tag) && _.every(_.omit(universe[tag], 'touchedByAllowedPropertyRule'))) { delete universe[tag]; return true; } + return false; } @@ -139,9 +150,12 @@ var properties = ['attributes', 'styles', 'classes']; var allRequiredTags = _.keys(universe); - var filterRule = void 0; + + var filterRule; + for (var i = 0; i < filterStatus.rules.length; i++) { filterRule = filterStatus.rules[i]; + if (filterRule.allow === false) { if (_.intersection(allRequiredTags, filterRule.tags).length > 0) { return true; @@ -172,14 +186,16 @@ function markAllowedTagsAndPropertyValues(universe, filterStatus) { var properties = ['attributes', 'styles', 'classes']; + var filterRule; + var tag; - var filterRule = void 0; - var tag = void 0; for (var l = 0; !_.isEmpty(universe) && l < filterStatus.rules.length; l++) { filterRule = filterStatus.rules[l]; + if (filterRule.allow === true) { for (var m = 0; !_.isEmpty(universe) && m < filterRule.tags.length; m++) { tag = filterRule.tags[m]; + if (_.has(universe, tag)) { universe[tag].tag = true; deleteFromUniverseIfAllowed(universe, tag); @@ -237,21 +253,21 @@ return false; } - var tags = _.keys(universe); for (var i = 0; i < tags.length; i++) { var tag = tags[i]; + if (_.has(universe, tag)) { if (universe[tag].touchedByAllowedPropertyRule === false) { delete universe[tag]; } } } + return _.isEmpty(universe); } - return true; } @@ -269,14 +285,12 @@ styles: [], classes: [] }; - this.allowed = { tags: [], attributes: [], styles: [], classes: [] }; - this.raw = null; }; @@ -291,9 +305,7 @@ Drupal.FilterStatus = function (name) { this.name = name; - this.active = false; - this.rules = []; }; @@ -304,13 +316,19 @@ Drupal.FilterHTMLRule = function () { this.tags = []; this.allow = null; - this.restrictedTags = { tags: [], - allowed: { attributes: [], styles: [], classes: [] }, - forbidden: { attributes: [], styles: [], classes: [] } + allowed: { + attributes: [], + styles: [], + classes: [] + }, + forbidden: { + attributes: [], + styles: [], + classes: [] + } }; - return this; }; @@ -330,12 +348,10 @@ Drupal.filterConfiguration = { statuses: {}, - liveSettingParsers: {}, - update: function update() { Object.keys(Drupal.filterConfiguration.statuses || {}).forEach(function (filterID) { - Drupal.filterConfiguration.statuses[filterID].active = $('[name="filters[' + filterID + '][status]"]').is(':checked'); + Drupal.filterConfiguration.statuses[filterID].active = $("[name=\"filters[".concat(filterID, "][status]\"]")).is(':checked'); if (Drupal.filterConfiguration.liveSettingParsers[filterID]) { Drupal.filterConfiguration.statuses[filterID].rules = Drupal.filterConfiguration.liveSettingParsers[filterID].getRules(); @@ -343,17 +359,13 @@ }); } }; - Drupal.behaviors.initializeFilterConfiguration = { attach: function attach(context, settings) { var $context = $(context); - $context.find('#filters-status-wrapper input.form-checkbox').once('filter-editor-status').each(function () { var $checkbox = $(this); var nameAttribute = $checkbox.attr('name'); - var filterID = nameAttribute.substring(8, nameAttribute.indexOf(']')); - Drupal.filterConfiguration.statuses[filterID] = new Drupal.FilterStatus(filterID); }); } diff --git a/core/modules/editor/js/editor.formattedTextEditor.js b/core/modules/editor/js/editor.formattedTextEditor.js index 0935cbc3845eaac13591a0636947c5f3801706e1..0de075c37e3ee194ac8dda2c74a2a180747603e7 100644 --- a/core/modules/editor/js/editor.formattedTextEditor.js +++ b/core/modules/editor/js/editor.formattedTextEditor.js @@ -8,27 +8,23 @@ (function ($, Drupal, drupalSettings, _) { Drupal.quickedit.editors.editor = Drupal.quickedit.EditorView.extend({ textFormat: null, - textFormatHasTransformations: null, - textEditor: null, - $textElement: null, - initialize: function initialize(options) { Drupal.quickedit.EditorView.prototype.initialize.call(this, options); - var metadata = Drupal.quickedit.metadata.get(this.fieldModel.get('fieldID'), 'custom'); this.textFormat = drupalSettings.editor.formats[metadata.format]; this.textFormatHasTransformations = metadata.formatHasTransformations; this.textEditor = Drupal.editors[this.textFormat.editor]; - var $fieldItems = this.$el.find('.quickedit-field'); + if ($fieldItems.length) { this.$textElement = $fieldItems.eq(0); } else { this.$textElement = this.$el; } + this.model.set('originalValue', this.$textElement.html()); }, getEditedElement: function getEditedElement() { @@ -38,6 +34,7 @@ var editorModel = this.model; var from = fieldModel.previous('state'); var to = state; + switch (to) { case 'inactive': break; @@ -50,9 +47,11 @@ if (from === 'active' && this.textFormatHasTransformations) { this.revert(); } + if (from === 'invalid') { this.removeValidationErrors(); } + break; case 'highlighted': @@ -61,6 +60,7 @@ case 'activating': if (this.textFormatHasTransformations) { var $textElement = this.$textElement; + this._getUntransformedText(function (untransformedText) { $textElement.html(untransformedText); fieldModel.set('state', 'active'); @@ -70,6 +70,7 @@ fieldModel.set('state', 'active'); }); } + break; case 'active': @@ -77,7 +78,6 @@ var textElement = this.$textElement.get(0); var toolbarView = fieldModel.toolbarView; this.textEditor.attachInlineEditor(textElement, this.textFormat, toolbarView.getMainWysiwygToolgroupId(), toolbarView.getFloatedWysiwygToolgroupId()); - this.textEditor.onChange(textElement, function (htmlText) { editorModel.set('currentValue', htmlText); fieldModel.set('state', 'changed'); @@ -92,6 +92,7 @@ if (from === 'invalid') { this.removeValidationErrors(); } + this.save(); break; @@ -116,10 +117,11 @@ }, _getUntransformedText: function _getUntransformedText(callback) { var fieldID = this.fieldModel.get('fieldID'); - var textLoaderAjax = Drupal.ajax({ url: Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('editor/!entity_type/!id/!field_name/!langcode/!view_mode')), - submit: { nocssjs: true } + submit: { + nocssjs: true + } }); textLoaderAjax.commands.editorGetUntransformedText = function (ajax, response, status) { diff --git a/core/modules/editor/js/editor.js b/core/modules/editor/js/editor.js index 6448953f190acd372154c2ec9d194fb1c189984d..1fa89a2867e51f574299ad8955cef9aa83b626d1 100644 --- a/core/modules/editor/js/editor.js +++ b/core/modules/editor/js/editor.js @@ -8,8 +8,7 @@ (function ($, Drupal, drupalSettings) { function findFieldForFormatSelector($formatSelector) { var fieldId = $formatSelector.attr('data-editor-for'); - - return $('#' + fieldId).get(0); + return $("#".concat(fieldId)).get(0); } function filterXssWhenSwitching(field, format, originalFormatID, callback) { @@ -17,7 +16,7 @@ callback(field, format); } else { $.ajax({ - url: Drupal.url('editor/filter_xss/' + format.format), + url: Drupal.url("editor/filter_xss/".concat(format.format)), type: 'POST', data: { value: field.value, @@ -28,6 +27,7 @@ if (xssFilteredValue !== false) { field.value = xssFilteredValue; } + callback(field, format); } }); @@ -62,13 +62,13 @@ } var supportContentFiltering = drupalSettings.editor.formats[newFormatID] && drupalSettings.editor.formats[newFormatID].editorSupportsContentFiltering; - var hasContent = field.value !== ''; + if (hasContent && supportContentFiltering) { var message = Drupal.t('Changing the text format to %text_format will permanently remove content that is not allowed in that text format.<br><br>Save your changes before switching the text format to avoid losing data.', { '%text_format': $select.find('option:selected').text() }); - var confirmationDialog = Drupal.dialog('<div>' + message + '</div>', { + var confirmationDialog = Drupal.dialog("<div>".concat(message, "</div>"), { title: Drupal.t('Change text format?'), dialogClass: 'editor-change-text-format-modal', resizable: false, @@ -87,18 +87,15 @@ confirmationDialog.close(); } }], - closeOnEscape: false, create: function create() { $(this).parent().find('.ui-dialog-titlebar-close').remove(); }, - beforeClose: false, close: function close(event) { $(event.target).remove(); } }); - confirmationDialog.showModal(); } else { changeTextEditor(field, newFormatID); @@ -106,7 +103,6 @@ } Drupal.editors = {}; - Drupal.behaviors.editor = { attach: function attach(context, settings) { if (!settings.editor) { @@ -130,12 +126,13 @@ $(field).on('change.editor keypress.editor', function () { field.setAttribute('data-editor-value-is-changed', 'true'); - $(field).off('.editor'); }); if ($this.is('select')) { - $this.on('change.editorAttach', { field: field }, onTextFormatChange); + $this.on('change.editorAttach', { + field: field + }, onTextFormatChange); } $this.parents('form').on('submit', function (event) { @@ -150,7 +147,7 @@ }); }, detach: function detach(context, settings, trigger) { - var editors = void 0; + var editors; if (trigger === 'serialize') { editors = $(context).find('[data-editor-for]').findOnce('editor'); @@ -162,6 +159,7 @@ var $this = $(this); var activeFormatID = $this.val(); var field = findFieldForFormatSelector($this); + if (field && activeFormatID in settings.editor.formats) { Drupal.editorDetach(field, settings.editor.formats[activeFormatID], trigger); } @@ -172,10 +170,8 @@ Drupal.editorAttach = function (field, format) { if (format.editor) { Drupal.editors[format.editor].attach(field, format); - Drupal.editors[format.editor].onChange(field, function () { $(field).trigger('formUpdated'); - field.setAttribute('data-editor-value-is-changed', 'true'); }); } diff --git a/core/modules/field_ui/field_ui.js b/core/modules/field_ui/field_ui.js index 985790d46ab499b07fcf726f1cfd92df4779d634..8c5ba129aeed89b86e4e493a38a9e0384b56134c 100644 --- a/core/modules/field_ui/field_ui.js +++ b/core/modules/field_ui/field_ui.js @@ -9,21 +9,20 @@ Drupal.behaviors.fieldUIFieldStorageAddForm = { attach: function attach(context) { var $form = $(context).find('[data-drupal-selector="field-ui-field-storage-add-form"]').once('field_ui_add'); + if ($form.length) { $form.find('.js-form-item-label label,' + '.js-form-item-field-name label,' + '.js-form-item-existing-storage-label label').addClass('js-form-required form-required'); - var $newFieldType = $form.find('select[name="new_storage_type"]'); var $existingStorageName = $form.find('select[name="existing_storage_name"]'); var $existingStorageLabel = $form.find('input[name="existing_storage_label"]'); - $newFieldType.on('change', function () { if ($(this).val() !== '') { $existingStorageName.val('').trigger('change'); } }); - $existingStorageName.on('change', function () { var value = $(this).val(); + if (value !== '') { $newFieldType.val('').trigger('change'); @@ -35,7 +34,6 @@ } } }; - Drupal.behaviors.fieldUIDisplayOverview = { attach: function attach(context, settings) { $(context).find('table#field-display-overview').once('field-display-overview').each(function () { @@ -43,20 +41,17 @@ }); } }; - Drupal.fieldUIOverview = { attach: function attach(table, rowsData, rowHandlers) { var tableDrag = Drupal.tableDrag[table.id]; - tableDrag.onDrop = this.onDrop; tableDrag.row.prototype.onSwap = this.onSwap; - $(table).find('tr.draggable').each(function () { var row = this; + if (row.id in rowsData) { var data = rowsData[row.id]; data.tableDrag = tableDrag; - var rowHandler = new rowHandlers[data.rowHandler](row, data); $(row).data('fieldUIRowHandler', rowHandler); } @@ -66,16 +61,13 @@ var $trigger = $(this); var $row = $trigger.closest('tr'); var rowHandler = $row.data('fieldUIRowHandler'); - var refreshRows = {}; refreshRows[rowHandler.name] = $trigger.get(0); - var region = rowHandler.getRegion(); + if (region !== rowHandler.region) { $row.find('select.js-field-parent').val(''); - $.extend(refreshRows, rowHandler.regionChange(region)); - rowHandler.region = region; } @@ -86,15 +78,14 @@ var row = dragObject.rowObject.element; var $row = $(row); var rowHandler = $row.data('fieldUIRowHandler'); + if (typeof rowHandler !== 'undefined') { var regionRow = $row.prevAll('tr.region-message').get(0); var region = regionRow.className.replace(/([^ ]+[ ]+)*region-([^ ]+)-message([ ]+[^ ]+)*/, '$2'); if (region !== rowHandler.region) { var refreshRows = rowHandler.regionChange(region); - rowHandler.region = region; - Drupal.fieldUIOverview.AJAXRefreshRows(refreshRows); } } @@ -127,15 +118,12 @@ if (rowNames.length) { $(ajaxElements).after(Drupal.theme.ajaxProgressThrobber()); - $('input[name=refresh_rows]').val(rowNames.join(' ')); $('input[data-drupal-selector="edit-refresh"]').trigger('mousedown'); - $(ajaxElements).prop('disabled', true); } } }; - Drupal.fieldUIDisplayOverview = {}; Drupal.fieldUIDisplayOverview.field = function (row, data) { @@ -144,13 +132,10 @@ this.region = data.region; this.tableDrag = data.tableDrag; this.defaultPlugin = data.defaultPlugin; - this.$pluginSelect = $(row).find('.field-plugin-type'); this.$pluginSelect.on('change', Drupal.fieldUIOverview.onChange); - this.$regionSelect = $(row).find('select.field-region'); this.$regionSelect.on('change', Drupal.fieldUIOverview.onChange); - return this; }; @@ -160,7 +145,6 @@ }, regionChange: function regionChange(region) { region = region.replace(/-/g, '_'); - this.$regionSelect.val(region); if (this.region === 'hidden') { @@ -173,7 +157,6 @@ var refreshRows = {}; refreshRows[this.name] = this.$pluginSelect.get(0); - return refreshRows; } }; diff --git a/core/modules/file/file.js b/core/modules/file/file.js index b14b7868b18cf1c8f973f1a15150cfc80a8ebde0..7a7ae89f25b63a58d1df585a196a1808a208c856 100644 --- a/core/modules/file/file.js +++ b/core/modules/file/file.js @@ -9,10 +9,12 @@ Drupal.behaviors.fileValidateAutoAttach = { attach: function attach(context, settings) { var $context = $(context); - var elements = void 0; + var elements; function initFileValidation(selector) { - $context.find(selector).once('fileValidate').on('change.fileValidate', { extensions: elements[selector] }, Drupal.file.validateExtension); + $context.find(selector).once('fileValidate').on('change.fileValidate', { + extensions: elements[selector] + }, Drupal.file.validateExtension); } if (settings.file && settings.file.elements) { @@ -22,7 +24,7 @@ }, detach: function detach(context, settings, trigger) { var $context = $(context); - var elements = void 0; + var elements; function removeFileValidation(selector) { $context.find(selector).removeOnce('fileValidate').off('change.fileValidate', Drupal.file.validateExtension); @@ -34,7 +36,6 @@ } } }; - Drupal.behaviors.fileAutoUpload = { attach: function attach(context) { $(context).find('input[type="file"]').once('auto-file-upload').on('change.autoFileUpload', Drupal.file.triggerUploadButton); @@ -45,7 +46,6 @@ } } }; - Drupal.behaviors.fileButtons = { attach: function attach(context) { var $context = $(context); @@ -60,7 +60,6 @@ } } }; - Drupal.behaviors.filePreviewLinks = { attach: function attach(context) { $(context).find('div.js-form-managed-file .file a').on('click', Drupal.file.openInNewWindow); @@ -69,24 +68,22 @@ $(context).find('div.js-form-managed-file .file a').off('click', Drupal.file.openInNewWindow); } }; - Drupal.file = Drupal.file || { validateExtension: function validateExtension(event) { event.preventDefault(); - $('.file-upload-js-error').remove(); - var extensionPattern = event.data.extensions.replace(/,\s*/g, '|'); + if (extensionPattern.length > 1 && this.value.length > 0) { - var acceptableMatch = new RegExp('\\.(' + extensionPattern + ')$', 'gi'); + var acceptableMatch = new RegExp("\\.(".concat(extensionPattern, ")$"), 'gi'); + if (!acceptableMatch.test(this.value)) { var error = Drupal.t('The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.', { '%filename': this.value.replace('C:\\fakepath\\', ''), '%extensions': extensionPattern.replace(/\|/g, ', ') }); - $(this).closest('div.js-form-managed-file').prepend('<div class="messages messages--error file-upload-js-error" aria-live="polite">' + error + '</div>'); + $(this).closest('div.js-form-managed-file').prepend("<div class=\"messages messages--error file-upload-js-error\" aria-live=\"polite\">".concat(error, "</div>")); this.value = ''; - event.stopImmediatePropagation(); } } @@ -97,8 +94,8 @@ disableFields: function disableFields(event) { var $clickedButton = $(this); $clickedButton.trigger('formUpdated'); - var $enabledFields = []; + if ($clickedButton.closest('div.js-form-managed-file').length > 0) { $enabledFields = $clickedButton.closest('div.js-form-managed-file').find('input.js-form-file'); } @@ -112,11 +109,10 @@ progressBar: function progressBar(event) { var $clickedButton = $(this); var $progressId = $clickedButton.closest('div.js-form-managed-file').find('input.file-progress'); + if ($progressId.length) { var originalName = $progressId.attr('name'); - $progressId.attr('name', originalName.match(/APC_UPLOAD_PROGRESS|UPLOAD_IDENTIFIER/)[0]); - setTimeout(function () { $progressId.attr('name', originalName); }, 1000); diff --git a/core/modules/filter/filter.admin.js b/core/modules/filter/filter.admin.js index 68167622fe83e95bfaccc08d62b12c6e515e3d44..23b0f4dc88cf595db0ce292d9fb26a5f3ae326b7 100644 --- a/core/modules/filter/filter.admin.js +++ b/core/modules/filter/filter.admin.js @@ -11,15 +11,13 @@ var $context = $(context); $context.find('#filters-status-wrapper input.form-checkbox').once('filter-status').each(function () { var $checkbox = $(this); - - var $row = $context.find('#' + $checkbox.attr('id').replace(/-status$/, '-weight')).closest('tr'); - - var $filterSettings = $context.find('#' + $checkbox.attr('id').replace(/-status$/, '-settings')); + var $row = $context.find("#".concat($checkbox.attr('id').replace(/-status$/, '-weight'))).closest('tr'); + var $filterSettings = $context.find("#".concat($checkbox.attr('id').replace(/-status$/, '-settings'))); var filterSettingsTab = $filterSettings.data('verticalTab'); - $checkbox.on('click.filterUpdate', function () { if ($checkbox.is(':checked')) { $row.show(); + if (filterSettingsTab) { filterSettingsTab.tabShow().updateSummary(); } else { @@ -27,6 +25,7 @@ } } else { $row.hide(); + if (filterSettingsTab) { filterSettingsTab.tabHide().updateSummary(); } else { diff --git a/core/modules/filter/filter.filter_html.admin.js b/core/modules/filter/filter.filter_html.admin.js index 5f4c6ef9fad351c9f98aa9d617b364c96f368e75..8e99a488b6910ec0c14b621461740bff5ac5393d 100644 --- a/core/modules/filter/filter.filter_html.admin.js +++ b/core/modules/filter/filter.filter_html.admin.js @@ -10,13 +10,13 @@ Drupal.filterConfiguration.liveSettingParsers.filter_html = { getRules: function getRules() { var currentValue = $('#edit-filters-filter-html-settings-allowed-html').val(); + var rules = Drupal.behaviors.filterFilterHtmlUpdating._parseSetting(currentValue); var rule = new Drupal.FilterHTMLRule(); rule.restrictedTags.tags = ['*']; rule.restrictedTags.forbidden.attributes = ['style', 'on*']; rules.push(rule); - return rules; } }; @@ -24,37 +24,33 @@ Drupal.behaviors.filterFilterHtmlUpdating = { $allowedHTMLFormItem: null, - $allowedHTMLDescription: null, - userTags: {}, - autoTags: null, - newFeatures: {}, - attach: function attach(context, settings) { var that = this; $(context).find('[name="filters[filter_html][settings][allowed_html]"]').once('filter-filter_html-updating').each(function () { that.$allowedHTMLFormItem = $(this); that.$allowedHTMLDescription = that.$allowedHTMLFormItem.closest('.js-form-item').find('.description'); that.userTags = that._parseSetting(this.value); - $(document).on('drupalEditorFeatureAdded', function (e, feature) { that.newFeatures[feature.name] = feature.rules; + that._updateAllowedTags(); }).on('drupalEditorFeatureModified', function (e, feature) { if (that.newFeatures.hasOwnProperty(feature.name)) { that.newFeatures[feature.name] = feature.rules; + that._updateAllowedTags(); } }).on('drupalEditorFeatureRemoved', function (e, feature) { if (that.newFeatures.hasOwnProperty(feature.name)) { delete that.newFeatures[feature.name]; + that._updateAllowedTags(); } }); - that.$allowedHTMLFormItem.on('change.updateUserTags', function () { that.userTags = _.difference(that._parseSetting(this.value), that.autoTags); }); @@ -62,34 +58,35 @@ }, _updateAllowedTags: function _updateAllowedTags() { this.autoTags = this._calculateAutoAllowedTags(this.userTags, this.newFeatures); - this.$allowedHTMLDescription.find('.editor-update-message').remove(); if (!_.isEmpty(this.autoTags)) { this.$allowedHTMLDescription.append(Drupal.theme('filterFilterHTMLUpdateMessage', this.autoTags)); + var userTagsWithoutOverrides = _.omit(this.userTags, _.keys(this.autoTags)); - this.$allowedHTMLFormItem.val(this._generateSetting(userTagsWithoutOverrides) + ' ' + this._generateSetting(this.autoTags)); + + this.$allowedHTMLFormItem.val("".concat(this._generateSetting(userTagsWithoutOverrides), " ").concat(this._generateSetting(this.autoTags))); } else { this.$allowedHTMLFormItem.val(this._generateSetting(this.userTags)); } }, _calculateAutoAllowedTags: function _calculateAutoAllowedTags(userAllowedTags, newFeatures) { var editorRequiredTags = {}; - Object.keys(newFeatures || {}).forEach(function (featureName) { var feature = newFeatures[featureName]; - var featureRule = void 0; - var filterRule = void 0; - var tag = void 0; + var featureRule; + var filterRule; + var tag; for (var f = 0; f < feature.length; f++) { featureRule = feature[f]; + for (var t = 0; t < featureRule.required.tags.length; t++) { tag = featureRule.required.tags[t]; + if (!_.has(editorRequiredTags, tag)) { filterRule = new Drupal.FilterHTMLRule(); filterRule.restrictedTags.tags = [tag]; - filterRule.restrictedTags.allowed.attributes = featureRule.required.attributes.slice(0); filterRule.restrictedTags.allowed.classes = featureRule.required.classes.slice(0); editorRequiredTags[tag] = filterRule; @@ -101,7 +98,6 @@ } } }); - var autoAllowedTags = {}; Object.keys(editorRequiredTags).forEach(function (tag) { if (!_.has(userAllowedTags, tag)) { @@ -109,43 +105,47 @@ } else { var requiredAttributes = editorRequiredTags[tag].restrictedTags.allowed.attributes; var allowedAttributes = userAllowedTags[tag].restrictedTags.allowed.attributes; + var needsAdditionalAttributes = requiredAttributes.length && _.difference(requiredAttributes, allowedAttributes).length; + var requiredClasses = editorRequiredTags[tag].restrictedTags.allowed.classes; var allowedClasses = userAllowedTags[tag].restrictedTags.allowed.classes; + var needsAdditionalClasses = requiredClasses.length && _.difference(requiredClasses, allowedClasses).length; + if (needsAdditionalAttributes || needsAdditionalClasses) { autoAllowedTags[tag] = userAllowedTags[tag].clone(); } + if (needsAdditionalAttributes) { autoAllowedTags[tag].restrictedTags.allowed.attributes = _.union(allowedAttributes, requiredAttributes); } + if (needsAdditionalClasses) { autoAllowedTags[tag].restrictedTags.allowed.classes = _.union(allowedClasses, requiredClasses); } } }); - return autoAllowedTags; }, _parseSetting: function _parseSetting(setting) { - var node = void 0; - var tag = void 0; - var rule = void 0; - var attributes = void 0; - var attribute = void 0; + var node; + var tag; + var rule; + var attributes; + var attribute; var allowedTags = setting.match(/(<[^>]+>)/g); var sandbox = document.createElement('div'); var rules = {}; + for (var t = 0; t < allowedTags.length; t++) { sandbox.innerHTML = allowedTags[t]; node = sandbox.firstChild; tag = node.tagName.toLowerCase(); - rule = new Drupal.FilterHTMLRule(); - rule.restrictedTags.tags = [tag]; - attributes = node.attributes; + for (var i = 0; i < attributes.length; i++) { attribute = attributes.item(i); var attributeName = attribute.nodeName; @@ -160,6 +160,7 @@ rules[tag] = rule; } + return rules; }, _generateSetting: function _generateSetting(tags) { @@ -168,13 +169,14 @@ setting += ' '; } - setting += '<' + tag; + setting += "<".concat(tag); + if (rule.restrictedTags.allowed.attributes.length) { - setting += ' ' + rule.restrictedTags.allowed.attributes.join(' '); + setting += " ".concat(rule.restrictedTags.allowed.attributes.join(' ')); } if (rule.restrictedTags.allowed.classes.length) { - setting += ' class="' + rule.restrictedTags.allowed.classes.join(' ') + '"'; + setting += " class=\"".concat(rule.restrictedTags.allowed.classes.join(' '), "\""); } setting += '>'; @@ -185,9 +187,13 @@ Drupal.theme.filterFilterHTMLUpdateMessage = function (tags) { var html = ''; + var tagList = Drupal.behaviors.filterFilterHtmlUpdating._generateSetting(tags); + html += '<p class="editor-update-message">'; - html += Drupal.t('Based on the text editor configuration, these tags have automatically been added: <strong>@tag-list</strong>.', { '@tag-list': tagList }); + html += Drupal.t('Based on the text editor configuration, these tags have automatically been added: <strong>@tag-list</strong>.', { + '@tag-list': tagList + }); html += '</p>'; return html; }; diff --git a/core/modules/filter/filter.js b/core/modules/filter/filter.js index c4a4c8f43e9e906b05ca323447705ae785a45de7..55736bddcf3955e44dc49cd68149d701e958bdf8 100644 --- a/core/modules/filter/filter.js +++ b/core/modules/filter/filter.js @@ -11,7 +11,7 @@ function updateFilterGuidelines(event) { var $this = $(event.target); var value = $this.val(); - $this.closest('.js-filter-wrapper').find('[data-drupal-format-id]').hide().filter('[data-drupal-format-id="' + value + '"]').show(); + $this.closest('.js-filter-wrapper').find('[data-drupal-format-id]').hide().filter("[data-drupal-format-id=\"".concat(value, "\"]")).show(); } $(context).find('.js-filter-guidelines').once('filter-guidelines').find(':header').hide().closest('.js-filter-wrapper').find('select.js-filter-list').on('change.filterGuidelines', updateFilterGuidelines).trigger('change.filterGuidelines'); diff --git a/core/modules/history/js/history.js b/core/modules/history/js/history.js index b9cb9fc5fb00e0e38e748226fd6b838257aab8eb..8e13059da8c3738ccbc8fdcb897f357beb8ebcc0 100644 --- a/core/modules/history/js/history.js +++ b/core/modules/history/js/history.js @@ -7,11 +7,10 @@ (function ($, Drupal, drupalSettings, storage) { var currentUserID = parseInt(drupalSettings.user.uid, 10); - var secondsIn30Days = 2592000; var thirtyDaysAgo = Math.round(new Date().getTime() / 1000) - secondsIn30Days; - var embeddedLastReadTimestamps = false; + if (drupalSettings.history && drupalSettings.history.lastReadTimestamps) { embeddedLastReadTimestamps = drupalSettings.history.lastReadTimestamps; } @@ -26,11 +25,13 @@ $.ajax({ url: Drupal.url('history/get_node_read_timestamps'), type: 'POST', - data: { 'node_ids[]': nodeIDs }, + data: { + 'node_ids[]': nodeIDs + }, dataType: 'json', success: function success(results) { Object.keys(results || {}).forEach(function (nodeID) { - storage.setItem('Drupal.history.' + currentUserID + '.' + nodeID, results[nodeID]); + storage.setItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID), results[nodeID]); }); callback(); } @@ -40,11 +41,12 @@ if (embeddedLastReadTimestamps && embeddedLastReadTimestamps[nodeID]) { return parseInt(embeddedLastReadTimestamps[nodeID], 10); } - return parseInt(storage.getItem('Drupal.history.' + currentUserID + '.' + nodeID) || 0, 10); + + return parseInt(storage.getItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID)) || 0, 10); }, markAsRead: function markAsRead(nodeID) { $.ajax({ - url: Drupal.url('history/' + nodeID + '/read'), + url: Drupal.url("history/".concat(nodeID, "/read")), type: 'POST', dataType: 'json', success: function success(timestamp) { @@ -52,7 +54,7 @@ return; } - storage.setItem('Drupal.history.' + currentUserID + '.' + nodeID, timestamp); + storage.setItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID), timestamp); } }); }, @@ -65,7 +67,7 @@ return contentTimestamp > parseInt(embeddedLastReadTimestamps[nodeID], 10); } - var minLastReadTimestamp = parseInt(storage.getItem('Drupal.history.' + currentUserID + '.' + nodeID) || 0, 10); + var minLastReadTimestamp = parseInt(storage.getItem("Drupal.history.".concat(currentUserID, ".").concat(nodeID)) || 0, 10); return contentTimestamp > minLastReadTimestamp; } }; diff --git a/core/modules/image/js/editors/image.js b/core/modules/image/js/editors/image.js index f46da9f46b3cce125efe1353e7c113b6aa9d9fc6..4ca52361d480ad48e9cd786c2fe485d52e334230 100644 --- a/core/modules/image/js/editors/image.js +++ b/core/modules/image/js/editors/image.js @@ -9,15 +9,15 @@ Drupal.quickedit.editors.image = Drupal.quickedit.EditorView.extend({ initialize: function initialize(options) { Drupal.quickedit.EditorView.prototype.initialize.call(this, options); - this.model.set('originalValue', this.$el.html().trim()); - this.model.set('currentValue', function (index, value) { var matches = $(this).attr('name').match(/(alt|title)]$/); + if (matches) { var name = matches[1]; - var $toolgroup = $('#' + options.fieldModel.toolbarView.getMainWysiwygToolgroupId()); - var $input = $toolgroup.find('.quickedit-image-field-info input[name="' + name + '"]'); + var $toolgroup = $("#".concat(options.fieldModel.toolbarView.getMainWysiwygToolgroupId())); + var $input = $toolgroup.find(".quickedit-image-field-info input[name=\"".concat(name, "\"]")); + if ($input.length) { return $input.val(); } @@ -26,6 +26,7 @@ }, stateChange: function stateChange(fieldModel, state, options) { var from = fieldModel.previous('state'); + switch (state) { case 'inactive': break; @@ -35,9 +36,11 @@ this.$el.find('.quickedit-image-dropzone').remove(); this.$el.removeClass('quickedit-image-element'); } + if (from === 'invalid') { this.removeValidationErrors(); } + break; case 'highlighted': @@ -47,30 +50,26 @@ _.defer(function () { fieldModel.set('state', 'active'); }); + break; case 'active': { var self = this; - this.$el.addClass('quickedit-image-element'); - var $dropzone = this.renderDropzone('upload', Drupal.t('Drop file here or click to upload')); - $dropzone.on('dragenter', function (e) { $(this).addClass('hover'); }); $dropzone.on('dragleave', function (e) { $(this).removeClass('hover'); }); - $dropzone.on('drop', function (e) { if (e.originalEvent.dataTransfer && e.originalEvent.dataTransfer.files.length) { $(this).removeClass('hover'); self.uploadImage(e.originalEvent.dataTransfer.files[0]); } }); - $dropzone.on('click', function (e) { $('<input type="file">').trigger('click').on('change', function () { if (this.files.length) { @@ -78,12 +77,10 @@ } }); }); - $dropzone.on('dragover dragenter dragleave drop click', function (e) { e.preventDefault(); e.stopPropagation(); }); - this.renderToolbar(fieldModel); break; } @@ -108,14 +105,13 @@ } }, uploadImage: function uploadImage(file) { - this.renderDropzone('upload loading', Drupal.t('Uploading <i>@file</i>…', { '@file': file.name })); - + this.renderDropzone('upload loading', Drupal.t('Uploading <i>@file</i>…', { + '@file': file.name + })); var fieldID = this.fieldModel.get('fieldID'); var url = Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('quickedit/image/upload/!entity_type/!id/!field_name/!langcode/!view_mode')); - var data = new FormData(); data.append('files[image]', file); - var self = this; this.ajax({ type: 'POST', @@ -123,11 +119,9 @@ data: data, success: function success(response) { var $el = $(self.fieldModel.get('el')); - self.fieldModel.set('state', 'changed'); self.fieldModel.get('entity').set('inTempStore', true); self.removeValidationErrors(); - var $content = $(response.html).closest('[data-quickedit-field-id]').children(); $el.empty().append($content); } @@ -144,16 +138,17 @@ this.renderDropzone('error', Drupal.t('A server error has occurred.')); } }; - var ajaxOptions = $.extend(defaultOptions, options); var successCallback = ajaxOptions.success; ajaxOptions.success = function (response) { if (response.main_error) { this.renderDropzone('error', response.main_error); + if (response.errors.length) { this.model.set('validationErrors', response.errors); } + this.showValidationErrors(); } else { successCallback(response); @@ -163,8 +158,9 @@ $.ajax(ajaxOptions); }, renderToolbar: function renderToolbar(fieldModel) { - var $toolgroup = $('#' + fieldModel.toolbarView.getMainWysiwygToolgroupId()); + var $toolgroup = $("#".concat(fieldModel.toolbarView.getMainWysiwygToolgroupId())); var $toolbar = $toolgroup.find('.quickedit-image-field-info'); + if ($toolbar.length === 0) { var fieldID = fieldModel.get('fieldID'); var url = Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('quickedit/image/info/!entity_type/!id/!field_name/!langcode/!view_mode')); @@ -178,7 +174,6 @@ $toolbar.on('keyup paste', function () { fieldModel.set('state', 'changed'); }); - fieldModel.get('entity').toolbarView.position(); } }); @@ -188,7 +183,7 @@ var $dropzone = this.$el.find('.quickedit-image-dropzone'); if ($dropzone.length) { - $dropzone.removeClass('upload error hover loading').addClass('.quickedit-image-dropzone ' + state).children('.quickedit-image-text').html(text); + $dropzone.removeClass('upload error hover loading').addClass(".quickedit-image-dropzone ".concat(state)).children('.quickedit-image-text').html(text); } else { $dropzone = $(Drupal.theme('quickeditImageDropzone', { state: state, @@ -214,13 +209,12 @@ var errors = Drupal.theme('quickeditImageErrors', { errors: this.model.get('validationErrors') }); - $('#' + this.fieldModel.toolbarView.getMainWysiwygToolgroupId()).append(errors); + $("#".concat(this.fieldModel.toolbarView.getMainWysiwygToolgroupId())).append(errors); this.getEditedElement().addClass('quickedit-validation-error'); - this.fieldModel.get('entity').toolbarView.position(); }, removeValidationErrors: function removeValidationErrors() { - $('#' + this.fieldModel.toolbarView.getMainWysiwygToolgroupId()).find('.quickedit-image-errors').remove(); + $("#".concat(this.fieldModel.toolbarView.getMainWysiwygToolgroupId())).find('.quickedit-image-errors').remove(); this.getEditedElement().removeClass('quickedit-validation-error'); } }); diff --git a/core/modules/image/js/theme.js b/core/modules/image/js/theme.js index 7108f9cef9aa6359887eed2aa6379d6541f45e32..2f1c60e3b6fc993a2872ac1a118d9cacdb41ff53 100644 --- a/core/modules/image/js/theme.js +++ b/core/modules/image/js/theme.js @@ -7,23 +7,25 @@ (function (Drupal) { Drupal.theme.quickeditImageErrors = function (settings) { - return '<div class="quickedit-image-errors">' + settings.errors + '</div>'; + return "<div class=\"quickedit-image-errors\">".concat(settings.errors, "</div>"); }; Drupal.theme.quickeditImageDropzone = function (settings) { - return '<div class="quickedit-image-dropzone ' + settings.state + '">' + ' <i class="quickedit-image-icon"></i>' + (' <span class="quickedit-image-text">' + settings.text + '</span>') + '</div>'; + return "<div class=\"quickedit-image-dropzone ".concat(settings.state, "\">") + ' <i class="quickedit-image-icon"></i>' + " <span class=\"quickedit-image-text\">".concat(settings.text, "</span>") + '</div>'; }; Drupal.theme.quickeditImageToolbar = function (settings) { var html = '<form class="quickedit-image-field-info">'; + if (settings.alt_field) { - html += '<div><label for="alt" class="' + (settings.alt_field_required ? 'required' : '') + '">' + Drupal.t('Alternative text') + '</label>' + ('<input type="text" placeholder="' + settings.alt + '" value="' + settings.alt + '" name="alt" ' + (settings.alt_field_required ? 'required' : '') + '/>') + ' </div>'; + html += "<div><label for=\"alt\" class=\"".concat(settings.alt_field_required ? 'required' : '', "\">").concat(Drupal.t('Alternative text'), "</label>") + "<input type=\"text\" placeholder=\"".concat(settings.alt, "\" value=\"").concat(settings.alt, "\" name=\"alt\" ").concat(settings.alt_field_required ? 'required' : '', "/>") + ' </div>'; } + if (settings.title_field) { - html += '<div><label for="title" class="' + (settings.title_field_required ? 'form-required' : '') + '">' + Drupal.t('Title') + '</label>' + ('<input type="text" placeholder="' + settings.title + '" value="' + settings.title + '" name="title" ' + (settings.title_field_required ? 'required' : '') + '/>') + '</div>'; + html += "<div><label for=\"title\" class=\"".concat(settings.title_field_required ? 'form-required' : '', "\">").concat(Drupal.t('Title'), "</label>") + "<input type=\"text\" placeholder=\"".concat(settings.title, "\" value=\"").concat(settings.title, "\" name=\"title\" ").concat(settings.title_field_required ? 'required' : '', "/>") + '</div>'; } - html += '</form>'; + html += '</form>'; return html; }; })(Drupal); \ No newline at end of file diff --git a/core/modules/language/language.admin.js b/core/modules/language/language.admin.js index 6d1f1738270aa4b403aaee4fd5525b7406388779..4011af980c3efd00479e5ca39606e3ec7b6a3d5a 100644 --- a/core/modules/language/language.admin.js +++ b/core/modules/language/language.admin.js @@ -13,15 +13,13 @@ function toggleTable(checkbox) { var $checkbox = $(checkbox); - $checkbox.closest('.table-language-group').find('table, .tabledrag-toggle-weight').toggle($checkbox.prop('checked')); } $configForm.once('negotiation-language-admin-bind').on('change', inputSelector, function (event) { toggleTable(event.target); }); - - $configForm.find(inputSelector + ':not(:checked)').each(function (index, element) { + $configForm.find("".concat(inputSelector, ":not(:checked)")).each(function (index, element) { toggleTable(element); }); } diff --git a/core/modules/layout_builder/js/layout-builder.js b/core/modules/layout_builder/js/layout-builder.js index 3068458e72c36400a7040f889be2c1018dbb4531..27fa04522f48c797dbdc29998544534054e5d28c 100644 --- a/core/modules/layout_builder/js/layout-builder.js +++ b/core/modules/layout_builder/js/layout-builder.js @@ -11,9 +11,7 @@ debounce = Drupal.debounce, announce = Drupal.announce, formatPlural = Drupal.formatPlural; - var layoutBuilderBlocksFiltered = false; - behaviors.layoutBuilderBlockFilter = { attach: function attach(context) { var $categories = $('.js-layout-builder-categories', context); @@ -30,18 +28,13 @@ if (query.length >= 2) { $categories.find('.js-layout-builder-category:not([open])').attr('remember-closed', ''); - $categories.find('.js-layout-builder-category').attr('open', ''); - $filterLinks.each(toggleBlockEntry); - $categories.find('.js-layout-builder-category:not(:has(.js-layout-builder-block-link:visible))').hide(); - announce(formatPlural($categories.find('.js-layout-builder-block-link:visible').length, '1 block is available in the modified list.', '@count blocks are available in the modified list.')); layoutBuilderBlocksFiltered = true; } else if (layoutBuilderBlocksFiltered) { layoutBuilderBlocksFiltered = false; - $categories.find('.js-layout-builder-category[remember-closed]').removeAttr('open').removeAttr('remember-closed'); $categories.find('.js-layout-builder-category').show(); $filterLinks.show(); @@ -56,11 +49,10 @@ Drupal.layoutBuilderBlockUpdate = function (item, from, to) { var $item = $(item); var $from = $(from); - var itemRegion = $item.closest('.js-layout-builder-region'); + if (to === itemRegion[0]) { var deltaTo = $item.closest('[data-layout-delta]').data('layout-delta'); - var deltaFrom = $from ? $from.closest('[data-layout-delta]').data('layout-delta') : deltaTo; ajax({ url: [$item.closest('[data-layout-update-url]').data('layout-update-url'), deltaFrom, deltaTo, itemRegion.data('region'), $item.data('layout-block-uuid'), $item.prev('[data-layout-block-uuid]').data('layout-block-uuid')].filter(function (element) { @@ -85,7 +77,6 @@ }); } }; - behaviors.layoutBuilderDisableInteractiveElements = { attach: function attach() { var $blocks = $('#layout-builder [data-layout-block-uuid]'); @@ -96,25 +87,23 @@ e.preventDefault(); e.stopPropagation(); }); - $blocks.find('button, [href], input, select, textarea, iframe, [tabindex]:not([tabindex="-1"]):not(.tabbable)').not(function (index, element) { return $(element).closest('[data-contextual-id]').length > 0; }).attr('tabindex', -1); } }; - $(window).on('dialog:aftercreate', function (event, dialog, $element) { if (Drupal.offCanvas.isOffCanvas($element)) { $('.is-layout-builder-highlighted').removeClass('is-layout-builder-highlighted'); - var id = $element.find('[data-layout-builder-target-highlight-id]').attr('data-layout-builder-target-highlight-id'); + if (id) { - $('[data-layout-builder-highlight-id="' + id + '"]').addClass('is-layout-builder-highlighted'); + $("[data-layout-builder-highlight-id=\"".concat(id, "\"]")).addClass('is-layout-builder-highlighted'); } $('#layout-builder').removeClass('layout-builder--move-blocks-active'); - var layoutBuilderWrapperValue = $element.find('[data-add-layout-builder-wrapper]').attr('data-add-layout-builder-wrapper'); + if (layoutBuilderWrapperValue) { $('#layout-builder').addClass(layoutBuilderWrapperValue); } @@ -123,7 +112,6 @@ if (document.querySelector('[data-off-canvas-main-canvas]')) { var mainCanvas = document.querySelector('[data-off-canvas-main-canvas]'); - mainCanvas.addEventListener('transitionend', function () { var $target = $('.is-layout-builder-highlighted'); @@ -154,31 +142,22 @@ $(window).on('dialog:afterclose', function (event, dialog, $element) { if (Drupal.offCanvas.isOffCanvas($element)) { $('.is-layout-builder-highlighted').removeClass('is-layout-builder-highlighted'); - $('#layout-builder').removeClass('layout-builder--move-blocks-active'); } }); - behaviors.layoutBuilderToggleContentPreview = { attach: function attach(context) { var $layoutBuilder = $('#layout-builder'); - var $layoutBuilderContentPreview = $('#layout-builder-content-preview'); - var contentPreviewId = $layoutBuilderContentPreview.data('content-preview-id'); - var isContentPreview = JSON.parse(localStorage.getItem(contentPreviewId)) !== false; var disableContentPreview = function disableContentPreview() { $layoutBuilder.addClass('layout-builder--content-preview-disabled'); - $('[data-layout-content-preview-placeholder-label]', context).each(function (i, element) { var $element = $(element); - $element.children(':not([data-contextual-id])').hide(0); - var contentPreviewPlaceholderText = $element.attr('data-layout-content-preview-placeholder-label'); - var contentPreviewPlaceholderLabel = Drupal.theme('layoutBuilderPrependContentPreviewPlaceholderLabel', contentPreviewPlaceholderText); $element.prepend(contentPreviewPlaceholderLabel); }); @@ -186,9 +165,7 @@ var enableContentPreview = function enableContentPreview() { $layoutBuilder.removeClass('layout-builder--content-preview-disabled'); - $('.js-layout-builder-content-preview-placeholder-label').remove(); - $('[data-layout-content-preview-placeholder-label]').each(function (i, element) { $(element).children().show(); }); @@ -196,7 +173,6 @@ $('#layout-builder-content-preview', context).on('change', function (event) { var isChecked = $(event.currentTarget).is(':checked'); - localStorage.setItem(contentPreviewId, JSON.stringify(isChecked)); if (isChecked) { @@ -219,7 +195,6 @@ var contentPreviewPlaceholderLabel = document.createElement('div'); contentPreviewPlaceholderLabel.className = 'layout-builder-block__content-preview-placeholder-label js-layout-builder-content-preview-placeholder-label'; contentPreviewPlaceholderLabel.innerHTML = contentPreviewPlaceholderText; - - return '<div class="layout-builder-block__content-preview-placeholder-label js-layout-builder-content-preview-placeholder-label">' + contentPreviewPlaceholderText + '</div>'; + return "<div class=\"layout-builder-block__content-preview-placeholder-label js-layout-builder-content-preview-placeholder-label\">".concat(contentPreviewPlaceholderText, "</div>"); }; })(jQuery, Drupal, Sortable); \ No newline at end of file diff --git a/core/modules/locale/locale.admin.es6.js b/core/modules/locale/locale.admin.es6.js index 47db4bd650c4d682eb74d44b2eb71189bbdd4656..d6d6301d84fa74ebc405541f640e65ee07a606f0 100644 --- a/core/modules/locale/locale.admin.es6.js +++ b/core/modules/locale/locale.admin.es6.js @@ -74,7 +74,7 @@ // Open/close the description details by toggling a tr class. $tbodies.on('click keydown', '.description', function(e) { - if (e.keyCode && (e.keyCode !== 13 && e.keyCode !== 32)) { + if (e.keyCode && e.keyCode !== 13 && e.keyCode !== 32) { return; } e.preventDefault(); diff --git a/core/modules/locale/locale.admin.js b/core/modules/locale/locale.admin.js index 7edc446f7373d348419d2e1292f14bb13773acfe..7eeda410e5adc04143928ebb8c49b4bde0150e2a 100644 --- a/core/modules/locale/locale.admin.js +++ b/core/modules/locale/locale.admin.js @@ -9,18 +9,17 @@ Drupal.behaviors.localeTranslateDirty = { attach: function attach() { var $form = $('#locale-translate-edit-form').once('localetranslatedirty'); + if ($form.length) { $form.one('formUpdated.localeTranslateDirty', 'table', function () { var $marker = $(Drupal.theme('localeTranslateChangedWarning')).hide(); $(this).addClass('changed').before($marker); $marker.fadeIn('slow'); }); - $form.on('formUpdated.localeTranslateDirty', 'tr', function () { var $row = $(this); var $rowToMark = $row.once('localemark'); var marker = Drupal.theme('localeTranslateChangedMarker'); - $row.addClass('changed'); if ($rowToMark.length) { @@ -32,28 +31,27 @@ detach: function detach(context, settings, trigger) { if (trigger === 'unload') { var $form = $('#locale-translate-edit-form').removeOnce('localetranslatedirty'); + if ($form.length) { $form.off('formUpdated.localeTranslateDirty'); } } } }; - Drupal.behaviors.hideUpdateInformation = { attach: function attach(context, settings) { var $table = $('#locale-translation-status-form').once('expand-updates'); + if ($table.length) { var $tbodies = $table.find('tbody'); - $tbodies.on('click keydown', '.description', function (e) { if (e.keyCode && e.keyCode !== 13 && e.keyCode !== 32) { return; } + e.preventDefault(); var $tr = $(this).closest('tr'); - $tr.toggleClass('expanded'); - $tr.find('.locale-translation-update__prefix').text(function () { if ($tr.hasClass('expanded')) { return Drupal.t('Hide description'); @@ -66,13 +64,12 @@ } } }; - $.extend(Drupal.theme, { localeTranslateChangedMarker: function localeTranslateChangedMarker() { - return '<abbr class="warning ajax-changed" title="' + Drupal.t('Changed') + '">*</abbr>'; + return "<abbr class=\"warning ajax-changed\" title=\"".concat(Drupal.t('Changed'), "\">*</abbr>"); }, localeTranslateChangedWarning: function localeTranslateChangedWarning() { - return '<div class="clearfix messages messages--warning">' + Drupal.theme('localeTranslateChangedMarker') + ' ' + Drupal.t('Changes made in this table will not be saved until the form is submitted.') + '</div>'; + return "<div class=\"clearfix messages messages--warning\">".concat(Drupal.theme('localeTranslateChangedMarker'), " ").concat(Drupal.t('Changes made in this table will not be saved until the form is submitted.'), "</div>"); } }); })(jQuery, Drupal); \ No newline at end of file diff --git a/core/modules/locale/locale.bulk.js b/core/modules/locale/locale.bulk.js index dd84cf793c0b8a54a803a7de524c1230c40b0b82..05d156e4749c0a0b5c4eb260378a90bc14a64fa0 100644 --- a/core/modules/locale/locale.bulk.js +++ b/core/modules/locale/locale.bulk.js @@ -9,11 +9,13 @@ Drupal.behaviors.importLanguageCodeSelector = { attach: function attach(context, settings) { var $form = $('#locale-translate-import-form').once('autodetect-lang'); + if ($form.length) { var $langcode = $form.find('.langcode-input'); $form.find('.file-import-input').on('change', function () { var matches = $(this).val().match(/([^.][.]*)([\w-]+)\.po$/); - if (matches && $langcode.find('option[value="' + matches[2] + '"]').length) { + + if (matches && $langcode.find("option[value=\"".concat(matches[2], "\"]")).length) { $langcode.val(matches[2]); } }); diff --git a/core/modules/locale/tests/locale_test.js b/core/modules/locale/tests/locale_test.js index 02500a35b8235c02d535d1bb9976e4b872889f22..8c5ca7258c3b9c26eaa6c251d611a609f4151d0e 100644 --- a/core/modules/locale/tests/locale_test.js +++ b/core/modules/locale/tests/locale_test.js @@ -7,34 +7,44 @@ Drupal.t("Standard Call t"); Drupal.t("Whitespace Call t"); - Drupal.t('Single Quote t'); Drupal.t('Single Quote \'Escaped\' t'); Drupal.t('Single Quote ' + 'Concat ' + 'strings ' + 't'); - Drupal.t("Double Quote t"); Drupal.t("Double Quote \"Escaped\" t"); Drupal.t("Double Quote " + "Concat " + "strings " + "t"); - -Drupal.t("Context Unquoted t", {}, { context: "Context string unquoted" }); -Drupal.t("Context Single Quoted t", {}, { 'context': "Context string single quoted" }); -Drupal.t("Context Double Quoted t", {}, { "context": "Context string double quoted" }); - -Drupal.t("Context !key Args t", { '!key': 'value' }, { context: "Context string" }); - +Drupal.t("Context Unquoted t", {}, { + context: "Context string unquoted" +}); +Drupal.t("Context Single Quoted t", {}, { + 'context': "Context string single quoted" +}); +Drupal.t("Context Double Quoted t", {}, { + "context": "Context string double quoted" +}); +Drupal.t("Context !key Args t", { + '!key': 'value' +}, { + context: "Context string" +}); Drupal.formatPlural(1, "Standard Call plural", "Standard Call @count plural"); Drupal.formatPlural(1, "Whitespace Call plural", "Whitespace Call @count plural"); - Drupal.formatPlural(1, 'Single Quote plural', 'Single Quote @count plural'); Drupal.formatPlural(1, 'Single Quote \'Escaped\' plural', 'Single Quote \'Escaped\' @count plural'); - Drupal.formatPlural(1, "Double Quote plural", "Double Quote @count plural"); Drupal.formatPlural(1, "Double Quote \"Escaped\" plural", "Double Quote \"Escaped\" @count plural"); - -Drupal.formatPlural(1, "Context Unquoted plural", "Context Unquoted @count plural", {}, { context: "Context string unquoted" }); -Drupal.formatPlural(1, "Context Single Quoted plural", "Context Single Quoted @count plural", {}, { 'context': "Context string single quoted" }); -Drupal.formatPlural(1, "Context Double Quoted plural", "Context Double Quoted @count plural", {}, { "context": "Context string double quoted" }); - -Drupal.formatPlural(1, "Context !key Args plural", "Context !key Args @count plural", { '!key': 'value' }, { context: "Context string" }); - +Drupal.formatPlural(1, "Context Unquoted plural", "Context Unquoted @count plural", {}, { + context: "Context string unquoted" +}); +Drupal.formatPlural(1, "Context Single Quoted plural", "Context Single Quoted @count plural", {}, { + 'context': "Context string single quoted" +}); +Drupal.formatPlural(1, "Context Double Quoted plural", "Context Double Quoted @count plural", {}, { + "context": "Context string double quoted" +}); +Drupal.formatPlural(1, "Context !key Args plural", "Context !key Args @count plural", { + '!key': 'value' +}, { + context: "Context string" +}); Drupal.formatPlural(1, "No count argument plural - singular", "No count argument plural - plural"); \ No newline at end of file diff --git a/core/modules/media/js/form.js b/core/modules/media/js/form.js index 437465abcd6a07076dbedc312653dedd659d69f9..aa2ee237eac1edd105c04d0adea335d332949ed0 100644 --- a/core/modules/media/js/form.js +++ b/core/modules/media/js/form.js @@ -9,7 +9,6 @@ Drupal.behaviors.mediaFormSummaries = { attach: function attach(context) { var $context = $(context); - $context.find('.media-form-author').drupalSetSummary(function (context) { var $authorContext = $(context); var name = $authorContext.find('.field--name-uid input').val(); @@ -21,11 +20,17 @@ '@date': date }); } + if (name) { - return Drupal.t('By @name', { '@name': name }); + return Drupal.t('By @name', { + '@name': name + }); } + if (date) { - return Drupal.t('Authored on @date', { '@date': date }); + return Drupal.t('Authored on @date', { + '@date': date + }); } }); } diff --git a/core/modules/media/js/media_embed_ckeditor.theme.js b/core/modules/media/js/media_embed_ckeditor.theme.js index 53d706e3b8117b9a734a96e7ce551356691affdf..bddc1ea4772169d6dc10d054f2a2e2fd4e99ce35 100644 --- a/core/modules/media/js/media_embed_ckeditor.theme.js +++ b/core/modules/media/js/media_embed_ckeditor.theme.js @@ -7,10 +7,10 @@ (function (Drupal) { Drupal.theme.mediaEmbedPreviewError = function () { - return '<div>' + Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.') + '</div>'; + return "<div>".concat(Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.'), "</div>"); }; Drupal.theme.mediaEmbedEditButton = function () { - return '<button class="media-library-item__edit">' + Drupal.t('Edit media') + '</button>'; + return "<button class=\"media-library-item__edit\">".concat(Drupal.t('Edit media'), "</button>"); }; })(Drupal); \ No newline at end of file diff --git a/core/modules/media/js/plugins/drupalmedia/plugin.js b/core/modules/media/js/plugins/drupalmedia/plugin.js index 7061bf8144745c7d73ce6ce98863427af284b234..c26512e7324626151e53c3e4374e93cd2c9fc05f 100644 --- a/core/modules/media/js/plugins/drupalmedia/plugin.js +++ b/core/modules/media/js/plugins/drupalmedia/plugin.js @@ -12,6 +12,7 @@ if (widget && widget.name === 'drupalmedia') { return widget; } + return null; } @@ -21,7 +22,6 @@ } CKEDITOR.plugins.drupallink.registerLinkableWidget('drupalmedia'); - editor.getCommand('drupalunlink').on('exec', function (evt) { var widget = getFocusedWidget(editor); @@ -30,12 +30,9 @@ } widget.setData('link', null); - this.refresh(editor, editor.elementPath()); - evt.cancel(); }); - editor.getCommand('drupalunlink').on('refresh', function (evt) { var widget = getFocusedWidget(editor); @@ -44,7 +41,6 @@ } this.setState(widget.data.link ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED); - evt.cancel(); }); @@ -62,6 +58,7 @@ unlink: CKEDITOR.TRISTATE_OFF }; } + return {}; }); } @@ -69,19 +66,17 @@ CKEDITOR.plugins.add('drupalmedia', { requires: 'widget', - beforeInit: function beforeInit(editor) { var dtd = CKEDITOR.dtd; - - dtd['drupal-media'] = { '#': 1 }; - + dtd['drupal-media'] = { + '#': 1 + }; Object.keys(dtd).forEach(function (tagName) { if (dtd[tagName].div) { dtd[tagName]['drupal-media'] = 1; } }); dtd.a['drupal-media'] = 1; - editor.widgets.add('drupalmedia', { allowedContent: { 'drupal-media': { @@ -96,7 +91,6 @@ classes: {} } }, - requiredContent: new CKEDITOR.style({ element: 'drupal-media', attributes: { @@ -104,9 +98,7 @@ 'data-entity-uuid': '' } }), - pathName: Drupal.t('Embedded media'), - editables: { caption: { selector: 'figcaption', @@ -114,11 +106,11 @@ pathName: Drupal.t('Caption') } }, - getLabel: function getLabel() { if (this.data.label) { return this.data.label; } + return Drupal.t('Embedded media'); }, upcast: function upcast(element, data) { @@ -127,17 +119,19 @@ if (element.name !== 'drupal-media' || attributes['data-entity-type'] !== 'media' || attributes['data-entity-uuid'] === undefined) { return; } + data.attributes = CKEDITOR.tools.copy(attributes); data.hasCaption = data.attributes.hasOwnProperty('data-caption'); if (data.hasCaption && data.attributes['data-caption'] === '') { data.attributes['data-caption'] = ' '; } + data.label = null; data.link = null; + if (element.parent.name === 'a') { data.link = CKEDITOR.tools.copy(element.parent.attributes); - Object.keys(element.parent.attributes).forEach(function (attrName) { if (attrName.indexOf('data-cke-') !== -1) { delete data.link[attrName]; @@ -146,9 +140,11 @@ } var hostEntityLangcode = document.getElementById(editor.name).getAttribute('data-media-embed-host-entity-langcode'); + if (hostEntityLangcode) { data.hostEntityLangcode = hostEntityLangcode; } + return element; }, destroy: function destroy() { @@ -167,11 +163,14 @@ if (this._previewNeedsServerSideUpdate()) { editor.fire('lockSnapshot'); + this._tearDownDynamicEditables(); this._loadPreview(function (widget) { widget._setUpDynamicEditables(); + widget._setUpEditButton(); + editor.fire('unlockSnapshot'); }); } @@ -183,16 +182,17 @@ } this.element.setAttributes(this.data.attributes); - this.oldData = CKEDITOR.tools.clone(this.data); }, downcast: function downcast() { var downcastElement = new CKEDITOR.htmlParser.element('drupal-media', this.data.attributes); + if (this.data.link) { var link = new CKEDITOR.htmlParser.element('a', this.data.link); link.add(downcastElement); return link; } + return downcastElement; }, _setUpDynamicEditables: function _setUpDynamicEditables() { @@ -200,12 +200,11 @@ if (this.initEditable('caption', this.definition.editables.caption)) { var captionEditable = this.editables.caption; - captionEditable.setAttribute('data-placeholder', Drupal.t('Enter caption here')); - this.captionObserver = new MutationObserver(function () { var mediaAttributes = CKEDITOR.tools.clone(_this2.data.attributes); mediaAttributes['data-caption'] = captionEditable.getData(); + _this2.setData('attributes', mediaAttributes); }); this.captionObserver.observe(captionEditable.$, { @@ -237,24 +236,23 @@ } embeddedMedia.setStyle('position', 'relative'); - var editButton = CKEDITOR.dom.element.createFromHtml(Drupal.theme('mediaEmbedEditButton')); embeddedMedia.getFirst().insertBeforeMe(editButton); - var widget = this; this.element.findOne('.media-library-item__edit').on('click', function (event) { var saveCallback = function saveCallback(values) { event.cancel(); editor.fire('saveSnapshot'); + if (values.hasOwnProperty('attributes')) { CKEDITOR.tools.extend(values.attributes, widget.data.attributes); - Object.keys(values.attributes).forEach(function (prop) { if (values.attributes[prop] === false || prop === 'data-align' && values.attributes[prop] === 'none') { delete values.attributes[prop]; } }); } + widget.setData({ attributes: values.attributes, hasCaption: !!values.hasCaption @@ -262,15 +260,15 @@ editor.fire('saveSnapshot'); }; - Drupal.ckeditor.openDialog(editor, Drupal.url('editor/dialog/media/' + editor.config.drupal.format), widget.data, saveCallback, {}); + Drupal.ckeditor.openDialog(editor, Drupal.url("editor/dialog/media/".concat(editor.config.drupal.format)), widget.data, saveCallback, {}); }); - this.element.findOne('.media-library-item__edit').on('keydown', function (event) { var returnKey = 13; - var spaceBar = 32; + if (typeof event.data !== 'undefined') { var keypress = event.data.getKey(); + if (keypress === returnKey || keypress === spaceBar) { event.sender.$.click(); } @@ -294,21 +292,20 @@ }, _hashData: function _hashData(data) { var dataToHash = CKEDITOR.tools.clone(data); - delete dataToHash.attributes['data-caption']; - delete dataToHash.label; if (dataToHash.link) { delete dataToHash.link.href; } + return JSON.stringify(dataToHash); }, _loadPreview: function _loadPreview(callback) { var _this3 = this; jQuery.get({ - url: Drupal.url('media/' + editor.config.drupal.format + '/preview'), + url: Drupal.url("media/".concat(editor.config.drupal.format, "/preview")), data: { text: this.downcast().getOuterHtml(), uuid: this.data.attributes['data-entity-uuid'] @@ -316,7 +313,9 @@ dataType: 'html', success: function success(previewHtml, textStatus, jqXhr) { _this3.element.setHtml(previewHtml); + _this3.setData('label', jqXhr.getResponseHeader('Drupal-Media-Label')); + callback(_this3); }, error: function error() { diff --git a/core/modules/media/js/type_form.js b/core/modules/media/js/type_form.js index 79c24f957d9c7c6d2ca2d367ac5494cce24e9ec0..01c2150f3605aec9b02413663a69d152c2d871a9 100644 --- a/core/modules/media/js/type_form.js +++ b/core/modules/media/js/type_form.js @@ -9,26 +9,24 @@ Drupal.behaviors.mediaTypeFormSummaries = { attach: function attach(context) { var $context = $(context); - $context.find('#edit-workflow').drupalSetSummary(function (context) { var vals = []; $(context).find('input[name^="options"]:checked').parent().each(function () { vals.push(Drupal.checkPlain($(this).find('label').text())); }); + if (!$(context).find('#edit-options-status').is(':checked')) { vals.unshift(Drupal.t('Not published')); } + return vals.join(', '); }); $(context).find('#edit-language').drupalSetSummary(function (context) { var vals = []; - vals.push($(context).find('.js-form-item-language-configuration-langcode select option:selected').text()); - $(context).find('input:checked').next('label').each(function () { vals.push(Drupal.checkPlain($(this).text())); }); - return vals.join(', '); }); } diff --git a/core/modules/media_library/js/media_library.click_to_select.js b/core/modules/media_library/js/media_library.click_to_select.js index 265ec4531b75481343ff1dfc4b971b830257df11..9d0b2e82eca563ef5a12fe88e79d237e9d6243a9 100644 --- a/core/modules/media_library/js/media_library.click_to_select.js +++ b/core/modules/media_library/js/media_library.click_to_select.js @@ -10,26 +10,20 @@ attach: function attach(context) { $('.js-click-to-select-trigger', context).once('media-library-click-to-select').on('click', function (event) { event.preventDefault(); - var $input = $(event.currentTarget).closest('.js-click-to-select').find('.js-click-to-select-checkbox input'); $input.prop('checked', !$input.prop('checked')).trigger('change'); }); - $('.js-click-to-select-checkbox input', context).once('media-library-click-to-select').on('change', function (_ref) { var currentTarget = _ref.currentTarget; - $(currentTarget).closest('.js-click-to-select').toggleClass('checked', $(currentTarget).prop('checked')); }).on('focus blur', function (_ref2) { var currentTarget = _ref2.currentTarget, type = _ref2.type; - $(currentTarget).closest('.js-click-to-select').toggleClass('is-focus', type === 'focus'); }); - $('.js-click-to-select-trigger, .js-click-to-select-checkbox', context).once('media-library-click-to-select-hover').on('mouseover mouseout', function (_ref3) { var currentTarget = _ref3.currentTarget, type = _ref3.type; - $(currentTarget).closest('.js-click-to-select').toggleClass('is-hover', type === 'mouseover'); }); } diff --git a/core/modules/media_library/js/media_library.ui.js b/core/modules/media_library/js/media_library.ui.js index 8d7b4571bfcc555a8bdc7edb071e39de9b6a27ab..73d48cdbc23df764233a9aa12bc6942b6e4a6506 100644 --- a/core/modules/media_library/js/media_library.ui.js +++ b/core/modules/media_library/js/media_library.ui.js @@ -28,7 +28,6 @@ }).on('click', function (e) { e.preventDefault(); e.stopPropagation(); - var ajaxObject = Drupal.ajax({ wrapper: 'media-library-content', url: e.currentTarget.href, @@ -45,49 +44,45 @@ if (this.progress.element) { $(this.progress.element).remove(); } + if (this.progress.object) { this.progress.object.stopMonitoring(); } - $(this.element).prop('disabled', false); + $(this.element).prop('disabled', false); Object.keys(response || {}).forEach(function (i) { if (response[i].command && _this.commands[response[i].command]) { _this.commands[response[i].command](_this, response[i], status); } }); - $('#media-library-content :tabbable:first').focus(); - this.settings = null; }; - ajaxObject.execute(); + ajaxObject.execute(); $menu.find('.active-tab').remove(); $menu.find('a').removeClass('active'); - $(e.currentTarget).addClass('active').html(Drupal.t('<span class="visually-hidden">Show </span>@title<span class="visually-hidden"> media</span><span class="active-tab visually-hidden"> (selected)</span>', { '@title': $(e.currentTarget).data('title') })); - + $(e.currentTarget).addClass('active').html(Drupal.t('<span class="visually-hidden">Show </span>@title<span class="visually-hidden"> media</span><span class="active-tab visually-hidden"> (selected)</span>', { + '@title': $(e.currentTarget).data('title') + })); Drupal.announce(Drupal.t('Showing @title media.', { '@title': $(e.currentTarget).data('title') })); }); } }; - Drupal.behaviors.MediaLibraryViewsDisplay = { attach: function attach(context) { var $view = $(context).hasClass('.js-media-library-view') ? $(context) : $('.js-media-library-view', context); - $view.closest('.views-element-container').attr('id', 'media-library-view'); - $('.views-display-link-widget, .views-display-link-widget_table', context).once('media-library-views-display-link').on('click', function (e) { e.preventDefault(); e.stopPropagation(); - var $link = $(e.currentTarget); - var loadingAnnouncement = ''; var displayAnnouncement = ''; var focusSelector = ''; + if ($link.hasClass('views-display-link-widget')) { loadingAnnouncement = Drupal.t('Loading grid view.'); displayAnnouncement = Drupal.t('Changed to grid view.'); @@ -110,6 +105,7 @@ if (displayAnnouncement || focusSelector) { var success = ajaxObject.success; + ajaxObject.success = function (response, status) { success.bind(this)(response, status); @@ -131,7 +127,6 @@ }); } }; - Drupal.behaviors.MediaLibraryItemSelection = { attach: function attach(context, settings) { var $form = $('.js-media-library-views-form, .js-media-library-add-form', context); @@ -155,14 +150,13 @@ var selectItemsText = remaining < 0 ? Drupal.formatPlural(currentSelection.length, '1 item selected', '@count items selected') : Drupal.formatPlural(remaining, '@selected of @count item selected', '@selected of @count items selected', { '@selected': currentSelection.length }); - $('.js-media-library-selected-count').html(selectItemsText); } $mediaItems.once('media-item-change').on('change', function (e) { var id = e.currentTarget.value; - var position = currentSelection.indexOf(id); + if (e.currentTarget.checked) { if (position === -1) { currentSelection.push(id); @@ -172,10 +166,8 @@ } $form.find('#media-library-modal-selection').val(currentSelection.join()).trigger('change'); - $('.js-media-library-add-form-current-selection').val(currentSelection.join()); }); - $('#media-library-modal-selection', $form).once('media-library-selection-change').on('change', function (e) { updateSelectionCount(settings.media_library.selection_remaining); @@ -186,22 +178,21 @@ enableItems($mediaItems); } }); - currentSelection.forEach(function (value) { - $form.find('input[type="checkbox"][value="' + value + '"]').prop('checked', true).trigger('change'); + $form.find("input[type=\"checkbox\"][value=\"".concat(value, "\"]")).prop('checked', true).trigger('change'); }); - $(window).once('media-library-selection-info').on('dialog:aftercreate', function () { var $buttonPane = $('.media-library-widget-modal .ui-dialog-buttonpane'); + if (!$buttonPane.length) { return; } + $buttonPane.append(Drupal.theme('mediaLibrarySelectionCount')); updateSelectionCount(settings.media_library.selection_remaining); }); } }; - Drupal.behaviors.MediaLibraryModalClearSelection = { attach: function attach() { $(window).once('media-library-clear-selection').on('dialog:afterclose', function () { @@ -211,6 +202,6 @@ }; Drupal.theme.mediaLibrarySelectionCount = function () { - return '<div class="media-library-selected-count js-media-library-selected-count" role="status" aria-live="polite" aria-atomic="true"></div>'; + return "<div class=\"media-library-selected-count js-media-library-selected-count\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"></div>"; }; })(jQuery, Drupal, window); \ No newline at end of file diff --git a/core/modules/media_library/js/media_library.view.js b/core/modules/media_library/js/media_library.view.js index 099991a32a716de38d5d8d8ff83a7373c11a8eae..af7dbd681831be381672706db421db8a9660d0a1 100644 --- a/core/modules/media_library/js/media_library.view.js +++ b/core/modules/media_library/js/media_library.view.js @@ -9,13 +9,12 @@ Drupal.behaviors.MediaLibrarySelectAll = { attach: function attach(context) { var $view = $('.js-media-library-view[data-view-display-id="page"]', context).once('media-library-select-all'); + if ($view.length && $view.find('.js-media-library-item').length) { var $checkbox = $(Drupal.theme('checkbox')).on('click', function (_ref) { var currentTarget = _ref.currentTarget; - var $checkboxes = $(currentTarget).closest('.js-media-library-view').find('.js-media-library-item input[type="checkbox"]'); $checkboxes.prop('checked', $(currentTarget).prop('checked')).trigger('change'); - var announcement = $(currentTarget).prop('checked') ? Drupal.t('All @count items selected', { '@count': $checkboxes.length }) : Drupal.t('Zero items selected'); diff --git a/core/modules/media_library/js/media_library.widget.js b/core/modules/media_library/js/media_library.widget.js index a76afcdc4b984423715e07c3eeb0367d778ca2a6..0fe2475ebe9d9bf117c366134f48bcb585535f0d 100644 --- a/core/modules/media_library/js/media_library.widget.js +++ b/core/modules/media_library/js/media_library.widget.js @@ -22,7 +22,6 @@ }); } }; - Drupal.behaviors.MediaLibraryWidgetToggleWeight = { attach: function attach(context) { var strings = { @@ -36,14 +35,12 @@ $('.js-media-library-item-weight', context).once('media-library-toggle').parent().hide(); } }; - Drupal.behaviors.MediaLibraryWidgetDisableButton = { attach: function attach(context) { $('.js-media-library-open-button[data-disabled-focus="true"]', context).once('media-library-disable').each(function () { var _this = this; $(this).focus(); - setTimeout(function () { $(_this).attr('disabled', 'disabled'); }, 50); diff --git a/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js b/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js index 3707864d990c76b33da0569246ebbdc1e4e28049..bfb1e19529a27b8fb78893d5e2037ba566b8c2c1 100644 --- a/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js +++ b/core/modules/media_library/js/plugins/drupalmedialibrary/plugin.js @@ -26,7 +26,6 @@ classes: {} } }, - requiredContent: new CKEDITOR.style({ element: 'drupal-media', attributes: { @@ -34,14 +33,14 @@ 'data-entity-uuid': '' } }), - modes: { wysiwyg: 1 }, - + modes: { + wysiwyg: 1 + }, canUndo: true, exec: function exec(editor) { var saveCallback = function saveCallback(values) { editor.fire('saveSnapshot'); var mediaElement = editor.document.createElement('drupal-media'); - var attributes = values.attributes; Object.keys(attributes).forEach(function (key) { mediaElement.setAttribute(key, attributes[key]); diff --git a/core/modules/menu_ui/menu_ui.admin.js b/core/modules/menu_ui/menu_ui.admin.js index 0f0e882c9809ba3a069a9822241298c394aabbe7..63ce3384d9d8aed24477e55bda9d6bb4d66d8847 100644 --- a/core/modules/menu_ui/menu_ui.admin.js +++ b/core/modules/menu_ui/menu_ui.admin.js @@ -9,9 +9,9 @@ Drupal.behaviors.menuUiChangeParentItems = { attach: function attach(context, settings) { var $menu = $('#edit-menu').once('menu-parent'); + if ($menu.length) { Drupal.menuUiUpdateParentList(); - $menu.on('change', 'input', Drupal.menuUiUpdateParentList); } } @@ -20,29 +20,25 @@ Drupal.menuUiUpdateParentList = function () { var $menu = $('#edit-menu'); var values = []; - $menu.find('input:checked').each(function () { values.push(Drupal.checkPlain($.trim($(this).val()))); }); - $.ajax({ - url: window.location.protocol + '//' + window.location.host + Drupal.url('admin/structure/menu/parents'), + url: "".concat(window.location.protocol, "//").concat(window.location.host).concat(Drupal.url('admin/structure/menu/parents')), type: 'POST', - data: { 'menus[]': values }, + data: { + 'menus[]': values + }, dataType: 'json', success: function success(options) { var $select = $('#edit-menu-parent'); - var selected = $select.val(); - $select.children().remove(); - var totalOptions = 0; Object.keys(options || {}).forEach(function (machineName) { - $select.append($('<option ' + (machineName === selected ? ' selected="selected"' : '') + '></option>').val(machineName).text(options[machineName])); + $select.append($("<option ".concat(machineName === selected ? ' selected="selected"' : '', "></option>")).val(machineName).text(options[machineName])); totalOptions++; }); - $select.closest('div').toggle(totalOptions > 0).attr('hidden', totalOptions === 0); } }); diff --git a/core/modules/menu_ui/menu_ui.js b/core/modules/menu_ui/menu_ui.js index b251b6e450f78ecb9bf12edd71b2a638b1f0f684..f5a7fc0c459d4d4b45a3abf7ca2516ba11a8a9dd 100644 --- a/core/modules/menu_ui/menu_ui.js +++ b/core/modules/menu_ui/menu_ui.js @@ -10,6 +10,7 @@ attach: function attach(context) { $(context).find('.menu-link-form').drupalSetSummary(function (context) { var $context = $(context); + if ($context.find('.js-form-item-menu-enabled input').is(':checked')) { return Drupal.checkPlain($context.find('.js-form-item-menu-title input').val()); } @@ -18,13 +19,11 @@ }); } }; - Drupal.behaviors.menuUiLinkAutomaticTitle = { attach: function attach(context) { var $context = $(context); $context.find('.menu-link-form').each(function () { var $this = $(this); - var $checkbox = $this.find('.js-form-item-menu-enabled input'); var $linkTitle = $context.find('.js-form-item-menu-title input'); var $title = $this.closest('form').find('.js-form-item-title-0-value input'); @@ -40,7 +39,6 @@ $linkTitle.on('keyup', function () { $linkTitle.data('menuLinkAutomaticTitleOverridden', true); }); - $checkbox.on('change', function () { if ($checkbox.is(':checked')) { if (!$linkTitle.data('menuLinkAutomaticTitleOverridden')) { @@ -50,10 +48,10 @@ $linkTitle.val(''); $linkTitle.removeData('menuLinkAutomaticTitleOverridden'); } + $checkbox.closest('.vertical-tabs-pane').trigger('summaryUpdated'); $checkbox.trigger('formUpdated'); }); - $title.on('keyup', function () { if (!$linkTitle.data('menuLinkAutomaticTitleOverridden') && $checkbox.is(':checked')) { $linkTitle.val($title.val()); diff --git a/core/modules/node/content_types.js b/core/modules/node/content_types.js index 9d2f24e66ce68400c84d8cba5a236f268df0f275..97258743854e90d55503f3f08a3018675dc68bd1 100644 --- a/core/modules/node/content_types.js +++ b/core/modules/node/content_types.js @@ -9,7 +9,6 @@ Drupal.behaviors.contentTypes = { attach: function attach(context) { var $context = $(context); - $context.find('#edit-submission').drupalSetSummary(function (context) { var vals = []; vals.push(Drupal.checkPlain($(context).find('#edit-title-label').val()) || Drupal.t('Requires a title')); @@ -20,20 +19,19 @@ $(context).find('input[name^="options"]:checked').next('label').each(function () { vals.push(Drupal.checkPlain($(this).text())); }); + if (!$(context).find('#edit-options-status').is(':checked')) { vals.unshift(Drupal.t('Not published')); } + return vals.join(', '); }); $('#edit-language', context).drupalSetSummary(function (context) { var vals = []; - vals.push($('.js-form-item-language-configuration-langcode select option:selected', context).text()); - $('input:checked', context).next('label').each(function () { vals.push(Drupal.checkPlain($(this).text())); }); - return vals.join(', '); }); $context.find('#edit-display').drupalSetSummary(function (context) { @@ -42,9 +40,11 @@ $editContext.find('input:checked').next('label').each(function () { vals.push(Drupal.checkPlain($(this).text())); }); + if (!$editContext.find('#edit-display-submitted').is(':checked')) { vals.unshift(Drupal.t("Don't display post information")); } + return vals.join(', '); }); } diff --git a/core/modules/node/node.js b/core/modules/node/node.js index 14981ce9c9578101b7b26c26554f2d9f0486efc7..ebca1208a7f040bcf5149a2cae00e50cd621a1d0 100644 --- a/core/modules/node/node.js +++ b/core/modules/node/node.js @@ -9,7 +9,6 @@ Drupal.behaviors.nodeDetailsSummaries = { attach: function attach(context) { var $context = $(context); - $context.find('.node-form-author').drupalSetSummary(function (context) { var $authorContext = $(context); var name = $authorContext.find('.field--name-uid input').val(); @@ -21,14 +20,19 @@ '@date': date }); } + if (name) { - return Drupal.t('By @name', { '@name': name }); + return Drupal.t('By @name', { + '@name': name + }); } + if (date) { - return Drupal.t('Authored on @date', { '@date': date }); + return Drupal.t('Authored on @date', { + '@date': date + }); } }); - $context.find('.node-form-options').drupalSetSummary(function (context) { var $optionsContext = $(context); var vals = []; diff --git a/core/modules/node/node.preview.js b/core/modules/node/node.preview.js index 60c8dfd10ed06f790f280081d82c37b9f6ff4e24..0f8508362d33a1394d4c275053fd6d5ebe015900 100644 --- a/core/modules/node/node.preview.js +++ b/core/modules/node/node.preview.js @@ -11,7 +11,7 @@ function clickPreviewModal(event) { if (event.button === 0 && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey) { event.preventDefault(); - var $previewDialog = $('<div>' + Drupal.theme('nodePreviewModal') + '</div>').appendTo('body'); + var $previewDialog = $("<div>".concat(Drupal.theme('nodePreviewModal'), "</div>")).appendTo('body'); Drupal.dialog($previewDialog, { title: Drupal.t('Leave preview?'), buttons: [{ @@ -30,6 +30,7 @@ } var $preview = $(context).once('node-preview'); + if ($(context).find('.node-preview-container').length) { $preview.on('click.preview', 'a:not([href^="#"], .node-preview-container a)', clickPreviewModal); } @@ -37,16 +38,17 @@ detach: function detach(context, settings, trigger) { if (trigger === 'unload') { var $preview = $(context).find('.content').removeOnce('node-preview'); + if ($preview.length) { $preview.off('click.preview'); } } } }; - Drupal.behaviors.nodePreviewSwitchViewMode = { attach: function attach(context) { var $autosubmit = $(context).find('[data-drupal-autosubmit]').once('autosubmit'); + if ($autosubmit.length) { $autosubmit.on('formUpdated.preview', function () { $(this.form).trigger('submit'); @@ -56,6 +58,6 @@ }; Drupal.theme.nodePreviewModal = function () { - return '<p>' + Drupal.t('Leaving the preview will cause unsaved changes to be lost. Are you sure you want to leave the preview?') + '</p><small class="description">' + Drupal.t('CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.') + '</small>'; + return "<p>".concat(Drupal.t('Leaving the preview will cause unsaved changes to be lost. Are you sure you want to leave the preview?'), "</p><small class=\"description\">").concat(Drupal.t('CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.'), "</small>"); }; })(jQuery, Drupal); \ No newline at end of file diff --git a/core/modules/path/path.js b/core/modules/path/path.js index c50f2d7fd4eb4c57ee662420c87ad626f3d59051..d7a3ecfdd22e24b66e1bdd1ed30ddb96bca40f2c 100644 --- a/core/modules/path/path.js +++ b/core/modules/path/path.js @@ -10,8 +10,9 @@ attach: function attach(context) { $(context).find('.path-form').drupalSetSummary(function (context) { var path = $('.js-form-item-path-0-alias input').val(); - - return path ? Drupal.t('Alias: @alias', { '@alias': path }) : Drupal.t('No alias'); + return path ? Drupal.t('Alias: @alias', { + '@alias': path + }) : Drupal.t('No alias'); }); } }; diff --git a/core/modules/quickedit/js/editors/formEditor.js b/core/modules/quickedit/js/editors/formEditor.js index a53bc79e7b6d41daf318fd635cf8a9f694dd1767..99bb144bfea25b0b4cca8964ad7fad6f619f4dfd 100644 --- a/core/modules/quickedit/js/editors/formEditor.js +++ b/core/modules/quickedit/js/editors/formEditor.js @@ -8,12 +8,11 @@ (function ($, Drupal, _) { Drupal.quickedit.editors.form = Drupal.quickedit.EditorView.extend({ $formContainer: null, - formSaveAjax: null, - stateChange: function stateChange(fieldModel, state) { var from = fieldModel.previous('state'); var to = state; + switch (to) { case 'inactive': break; @@ -22,6 +21,7 @@ if (from !== 'inactive') { this.removeForm(); } + break; case 'highlighted': @@ -31,6 +31,7 @@ if (from !== 'invalid') { this.loadForm(); } + break; case 'active': @@ -61,9 +62,7 @@ }, loadForm: function loadForm() { var fieldModel = this.fieldModel; - - var id = 'quickedit-form-for-' + fieldModel.id.replace(/[/[\]]/g, '_'); - + var id = "quickedit-form-for-".concat(fieldModel.id.replace(/[/[\]]/g, '_')); var $formContainer = $(Drupal.theme('quickeditFormContainer', { id: id, loadingMsg: Drupal.t('Loading…') @@ -73,7 +72,6 @@ if (this.$el.css('display') === 'inline') { $formContainer.prependTo(this.$el.offsetParent()); - var pos = this.$el.position(); $formContainer.css('left', pos.left).css('top', pos.top); } else { @@ -84,15 +82,13 @@ fieldID: fieldModel.get('fieldID'), $el: this.$el, nocssjs: false, - reset: !fieldModel.get('entity').get('inTempStore') }; Drupal.quickedit.util.form.load(formOptions, function (form, ajax) { Drupal.AjaxCommands.prototype.insert(ajax, { data: form, - selector: '#' + id + ' .placeholder' + selector: "#".concat(id, " .placeholder") }); - $formContainer.on('formUpdated.quickedit', ':input', function (event) { var state = fieldModel.get('state'); @@ -106,7 +102,6 @@ return false; } }); - fieldModel.set('state', 'active'); }); }, @@ -116,7 +111,6 @@ } delete this.formSaveAjax; - Drupal.detachBehaviors(this.$formContainer.get(0), null, 'unload'); this.$formContainer.off('change.quickedit', ':input').off('keypress.quickedit', 'input').remove(); this.$formContainer = null; @@ -126,7 +120,6 @@ var $submit = $formContainer.find('.quickedit-form-submit'); var editorModel = this.model; var fieldModel = this.fieldModel; - var formSaveAjax = Drupal.quickedit.util.form.ajaxifySaving({ nocssjs: false, other_view_modes: fieldModel.findOtherViewModes() @@ -139,9 +132,7 @@ formSaveAjax.commands.quickeditFieldFormSaved = function (ajax, response, status) { cleanUpAjax(); - fieldModel.set('state', 'saved'); - fieldModel.set('htmlForOtherViewModes', response.other_view_modes); _.defer(function () { @@ -157,7 +148,7 @@ formSaveAjax.commands.quickeditFieldForm = function (ajax, response, status) { Drupal.AjaxCommands.prototype.insert(ajax, { data: response.data, - selector: '#' + $formContainer.attr('id') + ' form' + selector: "#".concat($formContainer.attr('id'), " form") }); }; diff --git a/core/modules/quickedit/js/editors/plainTextEditor.js b/core/modules/quickedit/js/editors/plainTextEditor.js index 0843bb82ba3aa98fa09892839a16fbb7eb8ec1fa..44a7f8e4d06e1436639a2ddf10ebaf63eac3c2d5 100644 --- a/core/modules/quickedit/js/editors/plainTextEditor.js +++ b/core/modules/quickedit/js/editors/plainTextEditor.js @@ -8,21 +8,18 @@ (function ($, _, Drupal) { Drupal.quickedit.editors.plain_text = Drupal.quickedit.EditorView.extend({ $textElement: null, - initialize: function initialize(options) { Drupal.quickedit.EditorView.prototype.initialize.call(this, options); - var editorModel = this.model; var fieldModel = this.fieldModel; - var $fieldItems = this.$el.find('.quickedit-field'); var $textElement = $fieldItems.length ? $fieldItems.eq(0) : this.$el; this.$textElement = $textElement; editorModel.set('originalValue', $.trim(this.$textElement.text())); - var previousText = editorModel.get('originalValue'); $textElement.on('keyup paste', function (event) { var currentText = $.trim($textElement.text()); + if (previousText !== currentText) { previousText = currentText; editorModel.set('currentValue', currentText); @@ -36,6 +33,7 @@ stateChange: function stateChange(fieldModel, state, options) { var from = fieldModel.previous('state'); var to = state; + switch (to) { case 'inactive': break; @@ -44,9 +42,11 @@ if (from !== 'inactive') { this.$textElement.removeAttr('contenteditable'); } + if (from === 'invalid') { this.removeValidationErrors(); } + break; case 'highlighted': @@ -56,6 +56,7 @@ _.defer(function () { fieldModel.set('state', 'active'); }); + break; case 'active': @@ -69,6 +70,7 @@ if (from === 'invalid') { this.removeValidationErrors(); } + this.save(options); break; diff --git a/core/modules/quickedit/js/models/AppModel.js b/core/modules/quickedit/js/models/AppModel.js index 0a2396ae0ed66ffd923582c67b0e91d7de6e8667..21232d763a73012ba5d2601719d6bd76d996e4ee 100644 --- a/core/modules/quickedit/js/models/AppModel.js +++ b/core/modules/quickedit/js/models/AppModel.js @@ -9,9 +9,7 @@ Drupal.quickedit.AppModel = Backbone.Model.extend({ defaults: { highlightedField: null, - activeField: null, - activeModal: null } }); diff --git a/core/modules/quickedit/js/models/BaseModel.js b/core/modules/quickedit/js/models/BaseModel.js index c37eb921b6bbe088afb5227277b201cba7dcbf99..55680cf6bebdb16dc2393ae239a4b33966e6ea22 100644 --- a/core/modules/quickedit/js/models/BaseModel.js +++ b/core/modules/quickedit/js/models/BaseModel.js @@ -4,7 +4,8 @@ * https://www.drupal.org/node/2815083 * @preserve **/ -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } (function (Drupal, Backbone) { Drupal.quickedit.BaseModel = Backbone.Model.extend({ @@ -14,15 +15,17 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, set: function set(key, val, options) { if (this.__initialized) { - if ((typeof key === 'undefined' ? 'undefined' : _typeof(key)) === 'object') { + if (_typeof(key) === 'object') { key.validate = true; } else { if (!options) { options = {}; } + options.validate = true; } } + return Backbone.Model.prototype.set.call(this, key, val, options); } }); diff --git a/core/modules/quickedit/js/models/EditorModel.js b/core/modules/quickedit/js/models/EditorModel.js index 367982f282301235cc0f545e6e3d9116e7ce2b4b..ab9f555e192b5cd81f81889f86a2f36047e892fc 100644 --- a/core/modules/quickedit/js/models/EditorModel.js +++ b/core/modules/quickedit/js/models/EditorModel.js @@ -9,9 +9,7 @@ Drupal.quickedit.EditorModel = Backbone.Model.extend({ defaults: { originalValue: null, - currentValue: null, - validationErrors: null } }); diff --git a/core/modules/quickedit/js/models/EntityModel.es6.js b/core/modules/quickedit/js/models/EntityModel.es6.js index c3f10e95e050757379a3e5d1d568937402909746..6926017f127e789fffc2c4e054ac70696d5541ac 100644 --- a/core/modules/quickedit/js/models/EntityModel.es6.js +++ b/core/modules/quickedit/js/models/EntityModel.es6.js @@ -243,7 +243,8 @@ // proceed to set the fields to candidate state. if ( (changedFields.length || this.get('fieldsInTempStore').length) && - (!options.saved && !options.confirmed) + !options.saved && + !options.confirmed ) { // Cancel deactivation until the user confirms save or discard. this.set('state', 'opened', { confirming: true }); diff --git a/core/modules/quickedit/js/models/EntityModel.js b/core/modules/quickedit/js/models/EntityModel.js index 71da827ace73fc16fbd78f8c30b382c8496ac246..b8d0054859c1204fd5913e5d9d8ebe5ae021a842 100644 --- a/core/modules/quickedit/js/models/EntityModel.js +++ b/core/modules/quickedit/js/models/EntityModel.js @@ -9,43 +9,28 @@ Drupal.quickedit.EntityModel = Drupal.quickedit.BaseModel.extend({ defaults: { el: null, - entityID: null, - entityInstanceID: null, - id: null, - label: null, - fields: null, - isActive: false, - inTempStore: false, - isDirty: false, - isCommitting: false, - state: 'closed', - fieldsInTempStore: [], - reload: false }, - initialize: function initialize() { this.set('fields', new Drupal.quickedit.FieldCollection()); - this.listenTo(this, 'change:state', this.stateChange); - this.listenTo(this.get('fields'), 'change:state', this.fieldStateChange); - Drupal.quickedit.BaseModel.prototype.initialize.call(this); }, stateChange: function stateChange(entityModel, state, options) { var to = state; + switch (to) { case 'closed': this.set({ @@ -71,13 +56,11 @@ case 'committing': { var fields = this.get('fields'); - fields.chain().filter(function (fieldModel) { return _.intersection([fieldModel.get('state')], ['active']).length; }).each(function (fieldModel) { fieldModel.set('state', 'candidate'); }); - fields.chain().filter(function (fieldModel) { return _.intersection([fieldModel.get('state')], Drupal.quickedit.app.changedFieldStates).length; }).each(function (fieldModel) { @@ -93,7 +76,9 @@ }); if ((changedFields.length || this.get('fieldsInTempStore').length) && !options.saved && !options.confirmed) { - this.set('state', 'opened', { confirming: true }); + this.set('state', 'opened', { + confirming: true + }); _.defer(function () { Drupal.quickedit.app.confirmEntityDeactivation(entityModel); @@ -102,9 +87,7 @@ var invalidFields = this.get('fields').filter(function (fieldModel) { return _.intersection([fieldModel.get('state')], ['invalid']).length; }); - entityModel.set('reload', this.get('fieldsInTempStore').length || invalidFields.length); - entityModel.get('fields').each(function (fieldModel) { if (_.intersection([fieldModel.get('state')], ['candidate', 'highlighted']).length) { fieldModel.trigger('change:state', fieldModel, fieldModel.get('state'), options); @@ -113,6 +96,7 @@ } }); } + break; } @@ -134,9 +118,7 @@ if (current === 'saved') { entityModel.set('inTempStore', true); - fieldModel.set('inTempStore', true); - fieldsInTempStore.push(fieldModel.get('fieldID')); fieldsInTempStore = _.uniq(fieldsInTempStore); entityModel.set('fieldsInTempStore', fieldsInTempStore); @@ -159,6 +141,7 @@ 'accept-field-states': Drupal.quickedit.app.readyFieldStates }); }); + break; case 'opened': @@ -167,13 +150,16 @@ } else { this._updateInTempStoreAttributes(entityModel, fieldModel); } + break; case 'committing': { if (fieldState === 'invalid') { _.defer(function () { - entityModel.set('state', 'opened', { reason: 'invalid' }); + entityModel.set('state', 'opened', { + reason: 'invalid' + }); }); } else { this._updateInTempStoreAttributes(entityModel, fieldModel); @@ -182,26 +168,30 @@ var options = { 'accept-field-states': Drupal.quickedit.app.readyFieldStates }; + if (entityModel.set('isCommitting', true, options)) { entityModel.save({ success: function success() { entityModel.set({ state: 'deactivating', isCommitting: false - }, { saved: true }); + }, { + saved: true + }); }, error: function error() { entityModel.set('isCommitting', false); - entityModel.set('state', 'opened', { reason: 'networkerror' }); - - var message = Drupal.t('Your changes to <q>@entity-title</q> could not be saved, either due to a website problem or a network connection problem.<br>Please try again.', { '@entity-title': entityModel.get('label') }); + var message = Drupal.t('Your changes to <q>@entity-title</q> could not be saved, either due to a website problem or a network connection problem.<br>Please try again.', { + '@entity-title': entityModel.get('label') + }); Drupal.quickedit.util.networkErrorModal(Drupal.t('Network problem!'), message); } }); } + break; } @@ -211,6 +201,7 @@ 'accept-field-states': Drupal.quickedit.app.readyFieldStates }); }); + break; case 'closing': @@ -219,14 +210,14 @@ 'accept-field-states': ['inactive'] }); }); + break; } }, save: function save(options) { var entityModel = this; - var entitySaverAjax = Drupal.ajax({ - url: Drupal.url('quickedit/entity/' + entityModel.get('entityID')), + url: Drupal.url("quickedit/entity/".concat(entityModel.get('entityID'))), error: function error() { options.error.call(entityModel); } @@ -248,12 +239,12 @@ }, validate: function validate(attrs, options) { var acceptedFieldStates = options['accept-field-states'] || []; - var currentState = this.get('state'); var nextState = attrs.state; + if (currentState !== nextState) { if (_.indexOf(this.constructor.states, nextState) === -1) { - return '"' + nextState + '" is an invalid state'; + return "\"".concat(nextState, "\" is an invalid state"); } if (!this._acceptStateChange(currentState, nextState, options)) { @@ -267,6 +258,7 @@ var currentIsCommitting = this.get('isCommitting'); var nextIsCommitting = attrs.isCommitting; + if (currentIsCommitting === false && nextIsCommitting === true) { if (!this._fieldsHaveAcceptableStates(acceptedFieldStates)) { return 'isCommitting change not accepted because fields are not in acceptable state'; @@ -309,20 +301,16 @@ }, destroy: function destroy(options) { Drupal.quickedit.BaseModel.prototype.destroy.call(this, options); - this.stopListening(); - this.get('fields').reset(); }, sync: function sync() {} }, { states: ['closed', 'launching', 'opening', 'opened', 'committing', 'deactivating', 'closing'], - followsStateSequence: function followsStateSequence(from, to) { return _.indexOf(this.states, from) < _.indexOf(this.states, to); } }); - Drupal.quickedit.EntityCollection = Backbone.Collection.extend({ model: Drupal.quickedit.EntityModel }); diff --git a/core/modules/quickedit/js/models/FieldModel.js b/core/modules/quickedit/js/models/FieldModel.js index b44ce5fb475bc71459ee0f6492faec34dcc73fd4..76037ede04b854f49b013652050858feecce3604 100644 --- a/core/modules/quickedit/js/models/FieldModel.js +++ b/core/modules/quickedit/js/models/FieldModel.js @@ -9,52 +9,39 @@ Drupal.quickedit.FieldModel = Drupal.quickedit.BaseModel.extend({ defaults: { el: null, - fieldID: null, - id: null, - entity: null, - metadata: null, - acceptStateChange: null, - logicalFieldID: null, - state: 'inactive', - isChanged: false, - inTempStore: false, - html: null, - htmlForOtherViewModes: null }, - initialize: function initialize(options) { this.set('html', options.el.outerHTML); - this.get('entity').get('fields').add(this); - this.set('logicalFieldID', this.get('fieldID').split('/').slice(0, 4).join('/')); - Drupal.quickedit.BaseModel.prototype.initialize.call(this, options); }, destroy: function destroy(options) { if (this.get('state') !== 'inactive') { throw new Error('FieldModel cannot be destroyed if it is not inactive state.'); } + Drupal.quickedit.BaseModel.prototype.destroy.call(this, options); }, sync: function sync() {}, validate: function validate(attrs, options) { var current = this.get('state'); var next = attrs.state; + if (current !== next) { if (_.indexOf(this.constructor.states, next) === -1) { - return '"' + next + '" is an invalid state'; + return "\"".concat(next, "\" is an invalid state"); } if (!this.get('acceptStateChange')(current, next, options, this)) { @@ -71,7 +58,9 @@ findOtherViewModes: function findOtherViewModes() { var currentField = this; var otherViewModes = []; - Drupal.quickedit.collections.fields.where({ logicalFieldID: currentField.get('logicalFieldID') }).forEach(function (field) { + Drupal.quickedit.collections.fields.where({ + logicalFieldID: currentField.get('logicalFieldID') + }).forEach(function (field) { if (field !== currentField && field.get('fieldID') !== currentField.get('fieldID')) { otherViewModes.push(field.getViewMode()); } @@ -80,12 +69,10 @@ } }, { states: ['inactive', 'candidate', 'highlighted', 'activating', 'active', 'changed', 'saving', 'saved', 'invalid'], - followsStateSequence: function followsStateSequence(from, to) { return _.indexOf(this.states, from) < _.indexOf(this.states, to); } }); - Drupal.quickedit.FieldCollection = Backbone.Collection.extend({ model: Drupal.quickedit.FieldModel }); diff --git a/core/modules/quickedit/js/quickedit.js b/core/modules/quickedit/js/quickedit.js index 56bb74646a0ca47020a9fe8270f8aa4da4d017ce..8461e0f2ee9a6489d53fe55f265285f789d7ccf6 100644 --- a/core/modules/quickedit/js/quickedit.js +++ b/core/modules/quickedit/js/quickedit.js @@ -11,19 +11,14 @@ quickEdit: Drupal.t('Quick edit') } }); - var fieldsMetadataQueue = []; - var fieldsAvailableQueue = []; - var contextualLinksQueue = []; - var entityInstancesTracker = {}; function initQuickEdit(bodyElement) { Drupal.quickedit.collections.entities = new Drupal.quickedit.EntityCollection(); Drupal.quickedit.collections.fields = new Drupal.quickedit.FieldCollection(); - Drupal.quickedit.app = new Drupal.quickedit.AppView({ el: bodyElement, model: new Drupal.quickedit.AppModel(), @@ -34,6 +29,7 @@ function processEntity(entityElement) { var entityID = entityElement.getAttribute('data-quickedit-entity-id'); + if (!entityInstancesTracker.hasOwnProperty(entityID)) { entityInstancesTracker[entityID] = 0; } else { @@ -49,33 +45,32 @@ entityID: entityID, entityInstanceID: entityInstanceID }); - $(fieldElement).addClass('quickedit-field'); - var field = new Drupal.quickedit.FieldModel({ el: fieldElement, fieldID: fieldID, - id: fieldID + '[' + entity.get('entityInstanceID') + ']', + id: "".concat(fieldID, "[").concat(entity.get('entityInstanceID'), "]"), entity: entity, metadata: Drupal.quickedit.metadata.get(fieldID), acceptStateChange: _.bind(Drupal.quickedit.app.acceptEditorStateChange, Drupal.quickedit.app) }); - Drupal.quickedit.collections.fields.add(field); } function loadMissingEditors(callback) { var loadedEditors = _.keys(Drupal.quickedit.editors); + var missingEditors = []; Drupal.quickedit.collections.fields.each(function (fieldModel) { var metadata = Drupal.quickedit.metadata.get(fieldModel.get('fieldID')); + if (metadata.access && _.indexOf(loadedEditors, metadata.editor) === -1) { missingEditors.push(metadata.editor); - Drupal.quickedit.editors[metadata.editor] = false; } }); missingEditors = _.uniq(missingEditors); + if (missingEditors.length === 0) { callback(); return; @@ -83,12 +78,15 @@ var loadEditorsAjax = Drupal.ajax({ url: Drupal.url('quickedit/attachments'), - submit: { 'editors[]': missingEditors } + submit: { + 'editors[]': missingEditors + } }); - var realInsert = Drupal.AjaxCommands.prototype.insert; + loadEditorsAjax.commands.insert = function (ajax, response, status) { _.defer(callback); + realInsert(ajax, response, status); }; @@ -101,10 +99,12 @@ function hasFieldWithPermission(fieldIDs) { for (var i = 0; i < fieldIDs.length; i++) { var fieldID = fieldIDs[i]; + if (metadata.get(fieldID, 'access') === true) { return true; } } + return false; } @@ -116,6 +116,7 @@ entityID: contextualLink.entityID, entityInstanceID: contextualLink.entityInstanceID }); + var fieldIDs = _.pluck(fields, 'fieldID'); if (fieldIDs.length === 0) { @@ -127,11 +128,10 @@ el: contextualLink.region, entityID: contextualLink.entityID, entityInstanceID: contextualLink.entityInstanceID, - id: contextualLink.entityID + '[' + contextualLink.entityInstanceID + ']', + id: "".concat(contextualLink.entityID, "[").concat(contextualLink.entityInstanceID, "]"), label: Drupal.quickedit.metadata.get(contextualLink.entityID, 'label') }); Drupal.quickedit.collections.entities.add(entityModel); - var entityDecorationView = new Drupal.quickedit.EntityDecorationView({ el: contextualLink.region, model: entityModel @@ -141,6 +141,7 @@ _.each(fields, function (field) { initializeField(field.el, field.fieldID, contextualLink.entityID, contextualLink.entityInstanceID); }); + fieldsAvailableQueue = _.difference(fieldsAvailableQueue, fields); var initContextualLink = _.once(function () { @@ -154,7 +155,6 @@ }); loadMissingEditors(initContextualLink); - return true; } @@ -173,19 +173,20 @@ var metadata = Drupal.quickedit.metadata; var fieldID = fieldElement.getAttribute('data-quickedit-field-id'); var entityID = extractEntityID(fieldID); - - var entityElementSelector = '[data-quickedit-entity-id="' + entityID + '"]'; + var entityElementSelector = "[data-quickedit-entity-id=\"".concat(entityID, "\"]"); var $entityElement = $(entityElementSelector); if (!$entityElement.length) { - throw new Error('Quick Edit could not associate the rendered entity field markup (with [data-quickedit-field-id="' + fieldID + '"]) with the corresponding rendered entity markup: no parent DOM node found with [data-quickedit-entity-id="' + entityID + '"]. This is typically caused by the theme\'s template for this entity type forgetting to print the attributes.'); + throw new Error("Quick Edit could not associate the rendered entity field markup (with [data-quickedit-field-id=\"".concat(fieldID, "\"]) with the corresponding rendered entity markup: no parent DOM node found with [data-quickedit-entity-id=\"").concat(entityID, "\"]. This is typically caused by the theme's template for this entity type forgetting to print the attributes.")); } + var entityElement = $(fieldElement).closest($entityElement); if (entityElement.length === 0) { var $lowestCommonParent = $entityElement.parents().has(fieldElement).first(); entityElement = $lowestCommonParent.find($entityElement); } + var entityInstanceID = entityElement.get(0).getAttribute('data-quickedit-entity-instance-id'); if (!metadata.has(fieldID)) { @@ -222,13 +223,12 @@ var entityModel = Drupal.quickedit.collections.entities.findWhere({ el: entityElement }); + if (entityModel) { var contextualLinkView = entityModel.get('contextualLinkView'); contextualLinkView.undelegateEvents(); contextualLinkView.remove(); - entityModel.get('entityDecorationView').remove(); - entityModel.destroy(); } @@ -238,7 +238,6 @@ contextualLinksQueue = _.filter(contextualLinksQueue, hasOtherRegion); }); - $context.find('[data-quickedit-field-id]').addBack('[data-quickedit-field-id]').each(function (index, fieldElement) { Drupal.quickedit.collections.fields.chain().filter(function (fieldModel) { return fieldModel.get('el') === fieldElement; @@ -256,12 +255,13 @@ function fetchMissingMetadata(callback) { if (fieldsMetadataQueue.length) { var fieldIDs = _.pluck(fieldsMetadataQueue, 'fieldID'); + var fieldElementsWithoutMetadata = _.pluck(fieldsMetadataQueue, 'el'); + var entityIDs = _.uniq(_.pluck(fieldsMetadataQueue, 'entityID'), true); entityIDs = _.difference(entityIDs, Drupal.quickedit.metadata.intersection(entityIDs)); fieldsMetadataQueue = []; - $.ajax({ url: Drupal.url('quickedit/metadata'), type: 'POST', @@ -284,8 +284,8 @@ Drupal.behaviors.quickedit = { attach: function attach(context) { $('body').once('quickedit-init').each(initQuickEdit); - var $fields = $(context).find('[data-quickedit-field-id]').once('quickedit'); + if ($fields.length === 0) { return; } @@ -293,15 +293,12 @@ $(context).find('[data-quickedit-entity-id]').once('quickedit').each(function (index, entityElement) { processEntity(entityElement); }); - $fields.each(function (index, fieldElement) { processField(fieldElement); }); - contextualLinksQueue = _.filter(contextualLinksQueue, function (contextualLink) { return !initializeEntityContextualLink(contextualLink); }); - fetchMissingMetadata(function (fieldElementsWithFreshMetadata) { _.each(fieldElementsWithFreshMetadata, processField); @@ -316,18 +313,13 @@ } } }; - Drupal.quickedit = { app: null, - collections: { entities: null, - fields: null }, - editors: {}, - metadata: { has: function has(fieldID) { return storage.getItem(this._prefixFieldID(fieldID)) !== null; @@ -340,22 +332,26 @@ return typeof key === 'undefined' ? metadata : metadata[key]; }, _prefixFieldID: function _prefixFieldID(fieldID) { - return 'Drupal.quickedit.metadata.' + fieldID; + return "Drupal.quickedit.metadata.".concat(fieldID); }, _unprefixFieldID: function _unprefixFieldID(fieldID) { return fieldID.substring(26); }, intersection: function intersection(fieldIDs) { var prefixedFieldIDs = _.map(fieldIDs, this._prefixFieldID); + var intersection = _.intersection(prefixedFieldIDs, _.keys(sessionStorage)); + return _.map(intersection, this._unprefixFieldID); } } }; var permissionsHashKey = Drupal.quickedit.metadata._prefixFieldID('permissionsHash'); + var permissionsHashValue = storage.getItem(permissionsHashKey); var permissionsHash = drupalSettings.user.permissionsHash; + if (permissionsHashValue !== permissionsHash) { if (typeof permissionsHash === 'string') { _.chain(storage).keys().each(function (key) { @@ -364,6 +360,7 @@ } }); } + storage.setItem(permissionsHashKey, permissionsHash); } @@ -373,6 +370,7 @@ data.$region.once('quickedit'); processEntity(data.$region.get(0)); } + var contextualLink = { entityID: data.$region.attr('data-quickedit-entity-id'), entityInstanceID: data.$region.attr('data-quickedit-entity-instance-id'), diff --git a/core/modules/quickedit/js/theme.js b/core/modules/quickedit/js/theme.js index 8b12cd7651d1ad8dda313a5116a16ad6c8eaa96e..20e3f2905120971c4eeaff91fa27b92fd07da5c5 100644 --- a/core/modules/quickedit/js/theme.js +++ b/core/modules/quickedit/js/theme.js @@ -8,13 +8,13 @@ (function ($, Drupal) { Drupal.theme.quickeditBackstage = function (settings) { var html = ''; - html += '<div id="' + settings.id + '" />'; + html += "<div id=\"".concat(settings.id, "\" />"); return html; }; Drupal.theme.quickeditEntityToolbar = function (settings) { var html = ''; - html += '<div id="' + settings.id + '" class="quickedit quickedit-toolbar-container clearfix">'; + html += "<div id=\"".concat(settings.id, "\" class=\"quickedit quickedit-toolbar-container clearfix\">"); html += '<i class="quickedit-toolbar-pointer"></i>'; html += '<div class="quickedit-toolbar-content">'; html += '<div class="quickedit-toolbar quickedit-toolbar-entity clearfix icon icon-pencil">'; @@ -26,7 +26,7 @@ }; Drupal.theme.quickeditEntityToolbarLabel = function (settings) { - return '<span class="field">' + Drupal.checkPlain(settings.fieldLabel) + '</span>' + Drupal.checkPlain(settings.entityLabel); + return "<span class=\"field\">".concat(Drupal.checkPlain(settings.fieldLabel), "</span>").concat(Drupal.checkPlain(settings.entityLabel)); }; Drupal.theme.quickeditEntityToolbarFence = function () { @@ -34,19 +34,23 @@ }; Drupal.theme.quickeditFieldToolbar = function (settings) { - return '<div id="' + settings.id + '" />'; + return "<div id=\"".concat(settings.id, "\" />"); }; Drupal.theme.quickeditToolgroup = function (settings) { var classes = settings.classes || []; classes.unshift('quickedit-toolgroup'); var html = ''; - html += '<div class="' + classes.join(' ') + '"'; + html += "<div class=\"".concat(classes.join(' '), "\""); + if (settings.id) { - html += ' id="' + settings.id + '"'; + html += " id=\"".concat(settings.id, "\""); } + html += '>'; - html += Drupal.theme('quickeditButtons', { buttons: settings.buttons }); + html += Drupal.theme('quickeditButtons', { + buttons: settings.buttons + }); html += '</div>'; return html; }; @@ -56,6 +60,7 @@ var _loop = function _loop(i) { var button = settings.buttons[i]; + if (!button.hasOwnProperty('type')) { button.type = 'button'; } @@ -63,20 +68,21 @@ var attributes = []; var attrMap = settings.buttons[i].attributes || {}; Object.keys(attrMap).forEach(function (attr) { - attributes.push(attr + (attrMap[attr] ? '="' + attrMap[attr] + '"' : '')); + attributes.push(attr + (attrMap[attr] ? "=\"".concat(attrMap[attr], "\"") : '')); }); - html += '<button type="' + button.type + '" class="' + button.classes + '" ' + attributes.join(' ') + '>' + button.label + '</button>'; + html += "<button type=\"".concat(button.type, "\" class=\"").concat(button.classes, "\" ").concat(attributes.join(' '), ">").concat(button.label, "</button>"); }; for (var i = 0; i < settings.buttons.length; i++) { _loop(i); } + return html; }; Drupal.theme.quickeditFormContainer = function (settings) { var html = ''; - html += '<div id="' + settings.id + '" class="quickedit-form-container">'; + html += "<div id=\"".concat(settings.id, "\" class=\"quickedit-form-container\">"); html += ' <div class="quickedit-form">'; html += ' <div class="placeholder">'; html += settings.loadingMsg; diff --git a/core/modules/quickedit/js/util.js b/core/modules/quickedit/js/util.js index a9c09728619ec0ca0fbf1bf368634eb0801288e2..7c3e80d2d24612945dc20f5417117a1f13de7568 100644 --- a/core/modules/quickedit/js/util.js +++ b/core/modules/quickedit/js/util.js @@ -7,9 +7,7 @@ (function ($, Drupal) { Drupal.quickedit.util = Drupal.quickedit.util || {}; - Drupal.quickedit.util.constants = {}; - Drupal.quickedit.util.constants.transitionEnd = 'transitionEnd.quickedit webkitTransitionEnd.quickedit transitionend.quickedit msTransitionEnd.quickedit oTransitionEnd.quickedit'; Drupal.quickedit.util.buildUrl = function (id, urlFormat) { @@ -24,7 +22,7 @@ }; Drupal.quickedit.util.networkErrorModal = function (title, message) { - var $message = $('<div>' + message + '</div>'); + var $message = $("<div>".concat(message, "</div>")); var networkErrorModal = Drupal.dialog($message.get(0), { title: title, dialogClass: 'quickedit-network-error', @@ -33,7 +31,6 @@ click: function click() { networkErrorModal.close(); }, - primary: true }], create: function create() { @@ -49,7 +46,6 @@ Drupal.quickedit.util.form = { load: function load(options, callback) { var fieldID = options.fieldID; - var formLoaderAjax = Drupal.ajax({ url: Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('quickedit/form/!entity_type/!id/!field_name/!langcode/!view_mode')), submit: { @@ -58,9 +54,10 @@ }, error: function error(xhr, url) { var fieldLabel = Drupal.quickedit.metadata.get(fieldID, 'label'); - var message = Drupal.t('Could not load the form for <q>@field-label</q>, either due to a website problem or a network connection problem.<br>Please try again.', { '@field-label': fieldLabel }); + var message = Drupal.t('Could not load the form for <q>@field-label</q>, either due to a website problem or a network connection problem.<br>Please try again.', { + '@field-label': fieldLabel + }); Drupal.quickedit.util.networkErrorModal(Drupal.t('Network problem!'), message); - var fieldModel = Drupal.quickedit.app.model.get('activeField'); fieldModel.set('state', 'candidate'); } @@ -83,7 +80,6 @@ nocssjs: options.nocssjs, other_view_modes: options.other_view_modes }, - success: function success(response, status) { var _this = this; @@ -93,11 +89,9 @@ } }); }, - base: $submit.attr('id'), element: $submit[0] }; - return Drupal.ajax(settings); }, unajaxifySaving: function unajaxifySaving(ajax) { diff --git a/core/modules/quickedit/js/views/AppView.js b/core/modules/quickedit/js/views/AppView.js index d4a7051aef241b5c9e107348314fa541c3b058d5..473f2d2530a042a8e7f493e0daf3990f50d916d1 100644 --- a/core/modules/quickedit/js/views/AppView.js +++ b/core/modules/quickedit/js/views/AppView.js @@ -7,39 +7,32 @@ (function ($, _, Backbone, Drupal) { var reload = false; - Drupal.quickedit.AppView = Backbone.View.extend({ initialize: function initialize(options) { this.activeFieldStates = ['activating', 'active']; this.singleFieldStates = ['highlighted', 'activating', 'active']; this.changedFieldStates = ['changed', 'saving', 'saved', 'invalid']; this.readyFieldStates = ['candidate', 'highlighted']; - this.listenTo(options.entitiesCollection, 'change:state', this.appStateChange); this.listenTo(options.entitiesCollection, 'change:isActive', this.enforceSingleActiveEntity); - this.listenTo(options.fieldsCollection, 'change:state', this.editorStateChange); - this.listenTo(options.fieldsCollection, 'change:html', this.renderUpdatedField); this.listenTo(options.fieldsCollection, 'change:html', this.propagateUpdatedField); - this.listenTo(options.fieldsCollection, 'add', this.rerenderedFieldToCandidate); - this.listenTo(options.fieldsCollection, 'destroy', this.teardownEditor); }, appStateChange: function appStateChange(entityModel, state) { var app = this; - var entityToolbarView = void 0; + var entityToolbarView; + switch (state) { case 'launching': reload = false; - entityToolbarView = new Drupal.quickedit.EntityToolbarView({ model: entityModel, appModel: this.model }); entityModel.toolbarView = entityToolbarView; - entityModel.get('fields').each(function (fieldModel) { app.setupEditor(fieldModel); }); @@ -47,11 +40,11 @@ _.defer(function () { entityModel.set('state', 'opening'); }); + break; case 'closed': entityToolbarView = entityModel.toolbarView; - entityModel.get('fields').each(function (fieldModel) { app.teardownEditor(fieldModel); }); @@ -65,6 +58,7 @@ reload = false; window.location.reload(); } + break; } }, @@ -95,11 +89,12 @@ } if (accept) { - var activeField = void 0; - var activeFieldState = void 0; + var activeField; + var activeFieldState; if ((this.readyFieldStates.indexOf(from) !== -1 || from === 'invalid') && this.activeFieldStates.indexOf(to) !== -1) { activeField = this.model.get('activeField'); + if (activeField && activeField !== fieldModel) { activeFieldState = activeField.get('state'); @@ -133,9 +128,7 @@ setupEditor: function setupEditor(fieldModel) { var entityModel = fieldModel.get('entity'); var entityToolbarView = entityModel.toolbarView; - var fieldToolbarRoot = entityToolbarView.getToolbarRoot(); - var editorName = fieldModel.get('metadata').editor; var editorModel = new Drupal.quickedit.EditorModel(); var editorView = new Drupal.quickedit.editors[editorName]({ @@ -143,7 +136,6 @@ model: editorModel, fieldModel: fieldModel }); - var toolbarView = new Drupal.quickedit.FieldToolbarView({ el: fieldToolbarRoot, model: fieldModel, @@ -151,13 +143,11 @@ editorView: editorView, entityModel: entityModel }); - var decorationView = new Drupal.quickedit.FieldDecorationView({ el: $(editorView.getEditedElement()), model: fieldModel, editorView: editorView }); - fieldModel.editorView = editorView; fieldModel.toolbarView = toolbarView; fieldModel.decorationView = decorationView; @@ -169,26 +159,27 @@ fieldModel.toolbarView.remove(); delete fieldModel.toolbarView; - fieldModel.decorationView.remove(); delete fieldModel.decorationView; - fieldModel.editorView.remove(); delete fieldModel.editorView; }, confirmEntityDeactivation: function confirmEntityDeactivation(entityModel) { var that = this; - var discardDialog = void 0; + var discardDialog; function closeDiscardDialog(action) { discardDialog.close(action); - that.model.set('activeModal', null); if (action === 'save') { - entityModel.set('state', 'committing', { confirmed: true }); + entityModel.set('state', 'committing', { + confirmed: true + }); } else { - entityModel.set('state', 'deactivating', { confirmed: true }); + entityModel.set('state', 'deactivating', { + confirmed: true + }); if (entityModel.get('reload')) { reload = true; @@ -198,7 +189,7 @@ } if (!this.model.get('activeModal')) { - var $unsavedChanges = $('<div>' + Drupal.t('You have unsaved changes') + '</div>'); + var $unsavedChanges = $("<div>".concat(Drupal.t('You have unsaved changes'), "</div>")); discardDialog = Drupal.dialog($unsavedChanges.get(0), { title: Drupal.t('Discard changes?'), dialogClass: 'quickedit-discard-modal', @@ -208,7 +199,6 @@ click: function click() { closeDiscardDialog('save'); }, - primary: true }, { text: Drupal.t('Discard changes'), @@ -216,19 +206,16 @@ closeDiscardDialog('discard'); } }], - closeOnEscape: false, create: function create() { $(this).parent().find('.ui-dialog-titlebar-close').remove(); }, - beforeClose: false, close: function close(event) { $(event.target).remove(); } }); this.model.set('activeModal', discardDialog); - discardDialog.showModal(); } }, @@ -248,6 +235,7 @@ if (from === 'changed' || from === 'invalid') { fieldModel.editorView.revert(); } + this.model.set('activeField', null); } }, @@ -257,9 +245,7 @@ var renderField = function renderField() { fieldModel.destroy(); - $fieldWrapper.replaceWith(html); - Drupal.attachBehaviors($context.get(0)); }; @@ -268,8 +254,9 @@ fieldModel.set('state', 'candidate'); _.defer(function () { - fieldModel.set('state', 'inactive', { reason: 'rerender' }); - + fieldModel.set('state', 'inactive', { + reason: 'rerender' + }); renderField(); }); }); @@ -283,7 +270,9 @@ } var htmlForOtherViewModes = updatedField.get('htmlForOtherViewModes'); - Drupal.quickedit.collections.fields.where({ logicalFieldID: updatedField.get('logicalFieldID') }).forEach(function (field) { + Drupal.quickedit.collections.fields.where({ + logicalFieldID: updatedField.get('logicalFieldID') + }).forEach(function (field) { if (field === updatedField) {} else if (field.getViewMode() === updatedField.getViewMode()) { field.set('html', updatedField.get('html')); } else if (field.getViewMode() in htmlForOtherViewModes) { diff --git a/core/modules/quickedit/js/views/ContextualLinkView.js b/core/modules/quickedit/js/views/ContextualLinkView.js index e98a95fb37434f81743c79ff18eb0b6dc8f01389..51b3fa38dd7f265c4b19f02fc6a9e5ce222002f8 100644 --- a/core/modules/quickedit/js/views/ContextualLinkView.js +++ b/core/modules/quickedit/js/views/ContextualLinkView.js @@ -23,16 +23,12 @@ }, initialize: function initialize(options) { this.$el.find('a').text(options.strings.quickEdit); - this.render(); - this.listenTo(this.model, 'change:isActive', this.render); }, render: function render(entityModel, isActive) { this.$el.find('a').attr('aria-pressed', isActive); - this.$el.closest('.contextual').toggle(!isActive); - return this; } }); diff --git a/core/modules/quickedit/js/views/EditorView.js b/core/modules/quickedit/js/views/EditorView.js index eb9800b6d31b59d9a25bf4234a74ca7de909c879..29b9fdc9c3456011bf64f41946419c4d0042dc72 100644 --- a/core/modules/quickedit/js/views/EditorView.js +++ b/core/modules/quickedit/js/views/EditorView.js @@ -29,6 +29,7 @@ stateChange: function stateChange(fieldModel, state) { var from = fieldModel.previous('state'); var to = state; + switch (to) { case 'inactive': break; @@ -37,6 +38,7 @@ if (from === 'invalid') { this.removeValidationErrors(); } + break; case 'highlighted': @@ -47,6 +49,7 @@ var loadDependencies = function loadDependencies(callback) { callback(); }; + loadDependencies(function () { fieldModel.set('state', 'active'); }); @@ -63,6 +66,7 @@ if (from === 'invalid') { this.removeValidationErrors(); } + this.save(); break; @@ -78,13 +82,11 @@ save: function save() { var fieldModel = this.fieldModel; var editorModel = this.model; - var backstageId = 'quickedit_backstage-' + this.fieldModel.id.replace(/[/[\]_\s]/g, '-'); + var backstageId = "quickedit_backstage-".concat(this.fieldModel.id.replace(/[/[\]_\s]/g, '-')); function fillAndSubmitForm(value) { - var $form = $('#' + backstageId).find('form'); - + var $form = $("#".concat(backstageId)).find('form'); $form.find(':input[type!="hidden"][type!="submit"]:not(select)').not('[name$="\\[summary\\]"]').val(value); - $form.find('.quickedit-form-submit').trigger('click.quickedit'); } @@ -93,16 +95,14 @@ $el: this.$el, nocssjs: true, other_view_modes: fieldModel.findOtherViewModes(), - reset: !this.fieldModel.get('entity').get('inTempStore') }; - var self = this; Drupal.quickedit.util.form.load(formOptions, function (form, ajax) { - var $backstage = $(Drupal.theme('quickeditBackstage', { id: backstageId })).appendTo('body'); - + var $backstage = $(Drupal.theme('quickeditBackstage', { + id: backstageId + })).appendTo('body'); var $form = $(form).appendTo($backstage); - $form.prop('novalidate', true); var $submit = $form.find('.quickedit-form-submit'); self.formSaveAjax = Drupal.quickedit.util.form.ajaxifySaving(formOptions, $submit); @@ -115,11 +115,8 @@ self.formSaveAjax.commands.quickeditFieldFormSaved = function (ajax, response, status) { removeHiddenForm(); - fieldModel.set('state', 'saved'); - fieldModel.set('htmlForOtherViewModes', response.other_view_modes); - fieldModel.set('html', response.data); }; diff --git a/core/modules/quickedit/js/views/EntityToolbarView.js b/core/modules/quickedit/js/views/EntityToolbarView.js index 30dd7fa2daf9cec74a376a8e15d8d299c23d7b26..1400327dfbd18c324ff2507975ccc74bc9401377 100644 --- a/core/modules/quickedit/js/views/EntityToolbarView.js +++ b/core/modules/quickedit/js/views/EntityToolbarView.js @@ -8,7 +8,6 @@ (function ($, _, Backbone, Drupal, debounce, Popper) { Drupal.quickedit.EntityToolbarView = Backbone.View.extend({ _fieldToolbarRoot: null, - events: function events() { var map = { 'click button.action-save': 'onClickSave', @@ -21,30 +20,24 @@ var that = this; this.appModel = options.appModel; this.$entity = $(this.model.get('el')); - this.listenTo(this.model, 'change:isActive change:isDirty change:state', this.render); - this.listenTo(this.appModel, 'change:highlightedField change:activeField', this.render); - this.listenTo(this.model.get('fields'), 'change:state', this.fieldStateChange); - $(window).on('resize.quickedit scroll.quickedit drupalViewportOffsetChange.quickedit', debounce($.proxy(this.windowChangeHandler, this), 150)); - $(document).on('drupalViewportOffsetChange.quickedit', function (event, offsets) { if (that.$fence) { that.$fence.css(offsets); } }); - var $toolbar = this.buildToolbarEl(); this.setElement($toolbar); this._fieldToolbarRoot = $toolbar.find('.quickedit-toolbar-field').get(0); - this.render(); }, render: function render() { if (this.model.get('isActive')) { var $body = $('body'); + if ($body.children('#quickedit-entity-toolbar').length === 0) { $body.append(this.$el); } @@ -54,9 +47,7 @@ } this.label(); - this.show('ops'); - this.position(); } @@ -81,10 +72,8 @@ }, remove: function remove() { this.$fence.remove(); - $(window).off('resize.quickedit scroll.quickedit drupalViewportOffsetChange.quickedit'); $(document).off('drupalViewportOffsetChange.quickedit'); - Backbone.View.prototype.remove.call(this); }, windowChangeHandler: function windowChangeHandler(event) { @@ -103,19 +92,14 @@ }, position: function position(element) { clearTimeout(this.timer); - var that = this; - var edge = document.documentElement.dir === 'rtl' ? 'right' : 'left'; - var delay = 0; - var check = 0; - var horizontalPadding = 0; - var of = void 0; - var activeField = void 0; - var highlightedField = void 0; + var of; + var activeField; + var highlightedField; do { switch (check) { @@ -130,9 +114,11 @@ case 2: of = activeField && activeField.editorView && activeField.editorView.getEditedElement(); + if (activeField && activeField.editorView && activeField.editorView.getQuickEditUISettings().padding) { horizontalPadding = 5; } + break; case 3: @@ -149,11 +135,13 @@ for (var i = 0; i < fieldModels.length; i++) { var pos = fieldModels[i].get('el').getBoundingClientRect().top; + if (pos < topMostPosition) { topMostPosition = pos; topMostField = fieldModels[i]; } } + of = topMostField.get('el'); delay = 50; break; @@ -170,6 +158,7 @@ if (that.$entity[0] === data.instance.reference) { var $field = that.$entity.find('.quickedit-editable').eq(isBelow ? -1 : 0); + if ($field.length > 0) { data.offsets.popper.top = isBelow ? $field.offset().top + $field.outerHeight(true) : $field.offset().top - $(data.instance.reference).outerHeight(true); } @@ -178,6 +167,7 @@ var fenceTop = that.$fence.offset().top; var fenceHeight = that.$fence.height(); var toolbarHeight = $(data.instance.popper).outerHeight(true); + if (data.offsets.popper.top < fenceTop) { data.offsets.popper.top = fenceTop; } else if (data.offsets.popper.top + toolbarHeight > fenceTop + fenceHeight) { @@ -190,10 +180,11 @@ var referenceElement = of; var boundariesElement = that.$fence[0]; var popperedge = edge === 'left' ? 'start' : 'end'; + if (referenceElement !== undefined) { if (!popperElement.classList.contains('js-popper-processed')) { that.popper = new Popper(referenceElement, popperElement, { - placement: 'top-' + popperedge, + placement: "top-".concat(popperedge), modifiers: { flip: { behavior: ['top', 'bottom'] @@ -210,7 +201,7 @@ }); popperElement.classList.add('js-popper-processed'); } else { - that.popper.options.placement = 'top-' + popperedge; + that.popper.options.placement = "top-".concat(popperedge); that.popper.reference = referenceElement[0] ? referenceElement[0] : referenceElement; that.popper.update(); } @@ -218,7 +209,6 @@ that.$el.css({ 'max-width': document.documentElement.clientWidth < 450 ? document.documentElement.clientWidth : 450, - 'min-width': document.documentElement.clientWidth < 240 ? document.documentElement.clientWidth : 240, width: '100%' }); @@ -231,7 +221,6 @@ onClickSave: function onClickSave(event) { event.stopPropagation(); event.preventDefault(); - this.model.set('state', 'committing'); }, onClickCancel: function onClickCancel(event) { @@ -245,7 +234,6 @@ var $toolbar = $(Drupal.theme('quickeditEntityToolbar', { id: 'quickedit-entity-toolbar' })); - $toolbar.find('.quickedit-toolbar-entity').prepend(Drupal.theme('quickeditToolgroup', { classes: ['ops'], buttons: [{ @@ -260,12 +248,10 @@ classes: 'action-cancel quickedit-button icon icon-close icon-only' }] })); - $toolbar.css({ left: this.$entity.offset().left, top: this.$entity.offset().top }); - return $toolbar; }, getToolbarRoot: function getToolbarRoot() { @@ -274,10 +260,8 @@ label: function label() { var label = ''; var entityLabel = this.model.get('label'); - var activeField = Drupal.quickedit.app.model.get('activeField'); var activeFieldLabel = activeField && activeField.get('metadata').label; - var highlightedField = Drupal.quickedit.app.model.get('highlightedField'); var highlightedFieldLabel = highlightedField && highlightedField.get('metadata').label; @@ -304,7 +288,7 @@ this._find(toolgroup).removeClass(classes); }, _find: function _find(toolgroup) { - return this.$el.find('.quickedit-toolbar .quickedit-toolgroup.' + toolgroup); + return this.$el.find(".quickedit-toolbar .quickedit-toolgroup.".concat(toolgroup)); }, show: function show(toolgroup) { this.$el.removeClass('quickedit-animate-invisible'); diff --git a/core/modules/quickedit/js/views/FieldDecorationView.js b/core/modules/quickedit/js/views/FieldDecorationView.js index b235d81ba508f1312c6bbbba01ebc6dd98d04f6d..5d4e804311fc6f4d8472edf74df53aeeee3d039d 100644 --- a/core/modules/quickedit/js/views/FieldDecorationView.js +++ b/core/modules/quickedit/js/views/FieldDecorationView.js @@ -8,7 +8,6 @@ (function ($, Backbone, Drupal) { Drupal.quickedit.FieldDecorationView = Backbone.View.extend({ _widthAttributeIsEmpty: null, - events: { 'mouseenter.quickedit': 'onMouseEnter', 'mouseleave.quickedit': 'onMouseLeave', @@ -16,10 +15,8 @@ 'tabIn.quickedit': 'onMouseEnter', 'tabOut.quickedit': 'onMouseLeave' }, - initialize: function initialize(options) { this.editorView = options.editorView; - this.listenTo(this.model, 'change:state', this.stateChange); this.listenTo(this.model, 'change:isChanged change:inTempStore', this.renderChanged); }, @@ -30,6 +27,7 @@ stateChange: function stateChange(model, state) { var from = model.previous('state'); var to = state; + switch (to) { case 'inactive': this.undecorate(); @@ -37,14 +35,18 @@ case 'candidate': this.decorate(); + if (from !== 'inactive') { this.stopHighlight(); + if (from !== 'highlighted') { this.model.set('isChanged', false); this.stopEdit(); } } + this._unpad(); + break; case 'highlighted': @@ -59,9 +61,11 @@ if (from !== 'activating') { this.prepareEdit(); } + if (this.editorView.getQuickEditUISettings().padding) { this._pad(); } + break; case 'changed': @@ -88,7 +92,9 @@ }, onMouseLeave: function onMouseLeave(event) { var that = this; - that.model.set('state', 'candidate', { reason: 'mouseleave' }); + that.model.set('state', 'candidate', { + reason: 'mouseleave' + }); event.stopPropagation(); }, onClick: function onClick(event) { @@ -104,7 +110,6 @@ }, startHighlight: function startHighlight() { var that = this; - that.$el.addClass('quickedit-highlighted'); }, stopHighlight: function stopHighlight() { @@ -130,6 +135,7 @@ if (this.$el.data('quickedit-padded')) { return; } + var self = this; if (this.$el[0].style.width === '') { @@ -138,18 +144,18 @@ } var posProp = this._getPositionProperties(this.$el); + setTimeout(function () { self.$el.removeClass('quickedit-animate-disable-width'); - self.$el.css({ position: 'relative', - top: posProp.top - 5 + 'px', - left: posProp.left - 5 + 'px', - 'padding-top': posProp['padding-top'] + 5 + 'px', - 'padding-left': posProp['padding-left'] + 5 + 'px', - 'padding-right': posProp['padding-right'] + 5 + 'px', - 'padding-bottom': posProp['padding-bottom'] + 5 + 'px', - 'margin-bottom': posProp['margin-bottom'] - 10 + 'px' + top: "".concat(posProp.top - 5, "px"), + left: "".concat(posProp.left - 5, "px"), + 'padding-top': "".concat(posProp['padding-top'] + 5, "px"), + 'padding-left': "".concat(posProp['padding-left'] + 5, "px"), + 'padding-right': "".concat(posProp['padding-right'] + 5, "px"), + 'padding-bottom': "".concat(posProp['padding-bottom'] + 5, "px"), + 'margin-bottom': "".concat(posProp['margin-bottom'] - 10, "px") }).data('quickedit-padded', true); }, 0); }, @@ -157,6 +163,7 @@ if (!this.$el.data('quickedit-padded')) { return; } + var self = this; if (this._widthAttributeIsEmpty) { @@ -164,39 +171,40 @@ } var posProp = this._getPositionProperties(this.$el); + setTimeout(function () { self.$el.removeClass('quickedit-animate-disable-width'); - self.$el.css({ position: 'relative', - top: posProp.top + 5 + 'px', - left: posProp.left + 5 + 'px', - 'padding-top': posProp['padding-top'] - 5 + 'px', - 'padding-left': posProp['padding-left'] - 5 + 'px', - 'padding-right': posProp['padding-right'] - 5 + 'px', - 'padding-bottom': posProp['padding-bottom'] - 5 + 'px', - 'margin-bottom': posProp['margin-bottom'] + 10 + 'px' + top: "".concat(posProp.top + 5, "px"), + left: "".concat(posProp.left + 5, "px"), + 'padding-top': "".concat(posProp['padding-top'] - 5, "px"), + 'padding-left': "".concat(posProp['padding-left'] - 5, "px"), + 'padding-right': "".concat(posProp['padding-right'] - 5, "px"), + 'padding-bottom': "".concat(posProp['padding-bottom'] - 5, "px"), + 'margin-bottom': "".concat(posProp['margin-bottom'] + 10, "px") }); }, 0); - this.$el.removeData('quickedit-padded'); }, _getPositionProperties: function _getPositionProperties($e) { - var p = void 0; + var p; var r = {}; var props = ['top', 'left', 'bottom', 'right', 'padding-top', 'padding-left', 'padding-right', 'padding-bottom', 'margin-bottom']; - var propCount = props.length; + for (var i = 0; i < propCount; i++) { p = props[i]; r[p] = parseInt(this._replaceBlankPosition($e.css(p)), 10); } + return r; }, _replaceBlankPosition: function _replaceBlankPosition(pos) { if (pos === 'auto' || !pos) { pos = '0px'; } + return pos; } }); diff --git a/core/modules/quickedit/js/views/FieldToolbarView.js b/core/modules/quickedit/js/views/FieldToolbarView.js index 0405f40da4ead9974c1584a8bf29960b4fd1b8c1..ac295816368e018a0e973c37f4e8761136233a84 100644 --- a/core/modules/quickedit/js/views/FieldToolbarView.js +++ b/core/modules/quickedit/js/views/FieldToolbarView.js @@ -8,33 +8,26 @@ (function ($, _, Backbone, Drupal) { Drupal.quickedit.FieldToolbarView = Backbone.View.extend({ $editedElement: null, - editorView: null, - _id: null, - initialize: function initialize(options) { this.$editedElement = options.$editedElement; this.editorView = options.editorView; - this.$root = this.$el; - - this._id = 'quickedit-toolbar-for-' + this.model.id.replace(/[/[\]]/g, '_'); - + this._id = "quickedit-toolbar-for-".concat(this.model.id.replace(/[/[\]]/g, '_')); this.listenTo(this.model, 'change:state', this.stateChange); }, render: function render() { this.setElement($(Drupal.theme('quickeditFieldToolbar', { id: this._id }))); - this.$el.prependTo(this.$root); - return this; }, stateChange: function stateChange(model, state) { var from = model.previous('state'); var to = state; + switch (to) { case 'inactive': break; @@ -44,6 +37,7 @@ this.$el.remove(); this.setElement(); } + break; case 'highlighted': @@ -59,6 +53,7 @@ if (this.editorView.getQuickEditUISettings().unifiedToolbar) { this.insertWYSIWYGToolGroups(); } + break; case 'active': @@ -87,21 +82,20 @@ classes: ['wysiwyg-main', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'], buttons: [] })); - this.show('wysiwyg-floated'); this.show('wysiwyg-main'); }, getId: function getId() { - return 'quickedit-toolbar-for-' + this._id; + return "quickedit-toolbar-for-".concat(this._id); }, getFloatedWysiwygToolgroupId: function getFloatedWysiwygToolgroupId() { - return 'quickedit-wysiwyg-floated-toolgroup-for-' + this._id; + return "quickedit-wysiwyg-floated-toolgroup-for-".concat(this._id); }, getMainWysiwygToolgroupId: function getMainWysiwygToolgroupId() { - return 'quickedit-wysiwyg-main-toolgroup-for-' + this._id; + return "quickedit-wysiwyg-main-toolgroup-for-".concat(this._id); }, _find: function _find(toolgroup) { - return this.$el.find('.quickedit-toolgroup.' + toolgroup); + return this.$el.find(".quickedit-toolgroup.".concat(toolgroup)); }, show: function show(toolgroup) { var $group = this._find(toolgroup); @@ -109,7 +103,6 @@ $group.on(Drupal.quickedit.util.constants.transitionEnd, function (event) { $group.off(Drupal.quickedit.util.constants.transitionEnd); }); - window.setTimeout(function () { $group.removeClass('quickedit-animate-invisible'); }, 0); diff --git a/core/modules/settings_tray/js/settings_tray.js b/core/modules/settings_tray/js/settings_tray.js index 7a83e156ca5e428abbd099518392ea46c1de22d6..688e280cc93dedb74d3480ae13300853fbe35f93 100644 --- a/core/modules/settings_tray/js/settings_tray.js +++ b/core/modules/settings_tray/js/settings_tray.js @@ -16,6 +16,7 @@ if ($(event.target).closest('.contextual-links').length) { return; } + event.preventDefault(); } @@ -39,22 +40,23 @@ if (!document.querySelector('[data-off-canvas-main-canvas]')) { throw new Error('data-off-canvas-main-canvas is missing from settings-tray-page-wrapper.html.twig'); } + editMode = !!editMode; var $editButton = $(toggleEditSelector); - var $editables = void 0; + var $editables; if (editMode) { $editButton.text(Drupal.t('Editing')); closeToolbarTrays(); - $editables = $('[data-drupal-settingstray="editable"]').once('settingstray'); + if ($editables.length) { document.querySelector('[data-off-canvas-main-canvas]').addEventListener('click', preventClick, true); - $editables.not(contextualItemsSelector).on('click.settingstray', function (e) { if ($(e.target).closest('.contextual').length || !localStorage.getItem('Drupal.contextualToolbar.isViewing')) { return; } + $(e.currentTarget).find(blockConfigureSelector).trigger('click'); disableQuickEdit(); }); @@ -66,11 +68,13 @@ if ($(e.target).parent().hasClass('contextual') || $(e.target).parent().hasClass('quickedit')) { return; } + $(e.currentTarget).find('li.quickedit a').trigger('click'); }); } } else { $editables = $('[data-drupal-settingstray="editable"]').removeOnce('settingstray'); + if ($editables.length) { document.querySelector('[data-off-canvas-main-canvas]').removeEventListener('click', preventClick, true); $editables.off('.settingstray'); @@ -81,6 +85,7 @@ closeOffCanvas(); disableQuickEdit(); } + getItemsToToggle().toggleClass('js-settings-tray-edit-mode', editMode); $('.edit-mode-inactive').toggleClass('visually-hidden', editMode); } @@ -100,21 +105,23 @@ if (!instance.options.data.hasOwnProperty('dialogOptions')) { instance.options.data.dialogOptions = {}; } + instance.options.data.dialogOptions.settingsTrayActiveEditableId = $(instance.element).parents('.settings-tray-editable').attr('id'); - instance.progress = { type: 'fullscreen' }; + instance.progress = { + type: 'fullscreen' + }; }); } $(document).on('drupalContextualLinkAdded', function (event, data) { prepareAjaxLinks(); - $('body').once('settings_tray.edit_mode_init').each(function () { var editMode = localStorage.getItem('Drupal.contextualToolbar.isViewing') === 'false'; + if (editMode) { setEditModeState(true); } }); - data.$el.find(blockConfigureSelector).on('click.settingstray', function () { if (!isInEditMode()) { $(toggleEditSelector).trigger('click').trigger('click.settings_tray'); @@ -123,25 +130,23 @@ disableQuickEdit(); }); }); - $(document).on('keyup.settingstray', function (e) { if (isInEditMode() && e.keyCode === 27) { Drupal.announce(Drupal.t('Exited edit mode.')); toggleEditMode(); } }); - Drupal.behaviors.toggleEditMode = { attach: function attach() { $(toggleEditSelector).once('settingstray').on('click.settingstray', toggleEditMode); } }; - $(window).on({ 'dialog:beforecreate': function dialogBeforecreate(event, dialog, $element, settings) { if ($element.is('#drupal-off-canvas')) { $('body .settings-tray-active-editable').removeClass('settings-tray-active-editable'); - var $activeElement = $('#' + settings.settingsTrayActiveEditableId); + var $activeElement = $("#".concat(settings.settingsTrayActiveEditableId)); + if ($activeElement.length) { $activeElement.addClass('settings-tray-active-editable'); } diff --git a/core/modules/simpletest/simpletest.js b/core/modules/simpletest/simpletest.js index 9cfd095741bc9e78fc3842e4b109991229d8de84..54e0e4baf09b38e28604341d17968192e15d14ec 100644 --- a/core/modules/simpletest/simpletest.js +++ b/core/modules/simpletest/simpletest.js @@ -21,16 +21,14 @@ }); } }; - Drupal.behaviors.simpleTestSelectAll = { attach: function attach(context) { $(context).find('.simpletest-group').once('simpletest-group-select-all').each(function () { var $group = $(this); var $cell = $group.find('.simpletest-group-select-all'); - var $groupCheckbox = $(Drupal.theme('checkbox')).attr('id', $cell.attr('id') + '-group-select-all'); + var $groupCheckbox = $(Drupal.theme('checkbox')).attr('id', "".concat($cell.attr('id'), "-group-select-all")); var $testCheckboxes = $group.nextUntil('.simpletest-group').find('input[type=checkbox]'); $cell.append($groupCheckbox); - $groupCheckbox.on('change', function () { var checked = $(this).prop('checked'); $testCheckboxes.prop('checked', checked); @@ -51,12 +49,11 @@ }); } }; - Drupal.behaviors.simpletestTableFilterByText = { attach: function attach(context) { var $input = $('input.table-filter-text').once('table-filter-text'); var $table = $($input.attr('data-table')); - var $rows = void 0; + var $rows; var searched = false; function filterTestList(e) { @@ -72,12 +69,10 @@ if (query.length >= 3) { searched = true; $('#simpletest-form-table thead th.select-all input').hide(); - $rows.each(showTestRow); } else if (searched) { searched = false; $('#simpletest-form-table thead th.select-all input').show(); - $rows.css('display', ''); } } diff --git a/core/modules/system/js/system.date.js b/core/modules/system/js/system.date.js index 785a5c65fb55d8675289b8d268f91c6b711859ba..8de2e65a5e872540f634a6fbf4de06b18b7b9b1f 100644 --- a/core/modules/system/js/system.date.js +++ b/core/modules/system/js/system.date.js @@ -7,7 +7,6 @@ (function ($, Drupal, drupalSettings) { var dateFormats = drupalSettings.dateFormats; - Drupal.behaviors.dateFormat = { attach: function attach(context) { var $context = $(context); @@ -24,7 +23,6 @@ var dateString = baseValue.replace(/\\?(.?)/gi, function (key, value) { return dateFormats[key] ? dateFormats[key] : value; }); - $preview.text(dateString); $target.toggleClass('js-hide', !dateString.length); } diff --git a/core/modules/system/js/system.js b/core/modules/system/js/system.js index f23a69a93714b4ca175a739387a283551f052f57..f8cbd41f61801532ea30f027fe0565b7b5acab2f 100644 --- a/core/modules/system/js/system.js +++ b/core/modules/system/js/system.js @@ -7,7 +7,6 @@ (function ($, Drupal, drupalSettings) { var ids = []; - Drupal.behaviors.copyFieldValue = { attach: function attach(context) { Object.keys(drupalSettings.copyFieldValue || {}).forEach(function (element) { @@ -16,18 +15,18 @@ if (ids.length) { $('body').once('copy-field-values').on('value:copy', this.valueTargetCopyHandler); - - $('#' + ids.join(', #')).once('copy-field-values').on('blur', this.valueSourceBlurHandler); + $("#".concat(ids.join(', #'))).once('copy-field-values').on('blur', this.valueSourceBlurHandler); } }, detach: function detach(context, settings, trigger) { if (trigger === 'unload' && ids.length) { $('body').removeOnce('copy-field-values').off('value:copy'); - $('#' + ids.join(', #')).removeOnce('copy-field-values').off('blur'); + $("#".concat(ids.join(', #'))).removeOnce('copy-field-values').off('blur'); } }, valueTargetCopyHandler: function valueTargetCopyHandler(e, value) { var $target = $(e.target); + if ($target.val() === '') { $target.val(value); } @@ -35,7 +34,7 @@ valueSourceBlurHandler: function valueSourceBlurHandler(e) { var value = $(e.target).val(); var targetIds = drupalSettings.copyFieldValue[e.target.id]; - $('#' + targetIds.join(', #')).trigger('value:copy', value); + $("#".concat(targetIds.join(', #'))).trigger('value:copy', value); } }; })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/modules/system/js/system.modules.js b/core/modules/system/js/system.modules.js index 4e19e450eb76b67954dacb750f5c55ca49dc4cd1..cdfff64e0ad977dbb8fbd9aa3610f0e276d271c5 100644 --- a/core/modules/system/js/system.modules.js +++ b/core/modules/system/js/system.modules.js @@ -10,9 +10,9 @@ attach: function attach(context, settings) { var $input = $('input.table-filter-text').once('table-filter-text'); var $table = $($input.attr('data-table')); - var $rowsAndDetails = void 0; - var $rows = void 0; - var $details = void 0; + var $rowsAndDetails; + var $rows; + var $details; var searching = false; function hidePackageDetails(index, element) { @@ -23,8 +23,7 @@ function filterModuleList(e) { var query = $(e.target).val(); - - var re = new RegExp('\\b' + query, 'i'); + var re = new RegExp("\\b".concat(query), 'i'); function showModuleRow(index, row) { var $row = $(row); @@ -38,18 +37,14 @@ if (query.length >= 2) { searching = true; $rows.each(showModuleRow); - $details.not('[open]').attr('data-drupal-system-state', 'forced-open'); - $details.attr('open', true).each(hidePackageDetails); - Drupal.announce(Drupal.t('!modules modules are available in the modified list.', { '!modules': $rowsAndDetails.find('tbody tr:visible').length })); } else if (searching) { searching = false; $rowsAndDetails.show(); - $details.filter('[data-drupal-system-state="forced-open"]').removeAttr('data-drupal-system-state').attr('open', false); } } @@ -65,7 +60,6 @@ $rowsAndDetails = $table.find('tr, details'); $rows = $table.find('tbody tr'); $details = $rowsAndDetails.filter('.package-listing'); - $input.on({ keyup: debounce(filterModuleList, 200), keydown: preventEnterKey diff --git a/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js b/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js index e28fcd298758efba1745eb251250bca6ddb18fae..2a7f763accb1c9b8795b7deb8dcbc5a67fa32bdd 100644 --- a/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js +++ b/core/modules/system/tests/modules/ajax_test/js/insert-ajax.js @@ -21,7 +21,6 @@ var myAjaxObject = Drupal.ajax(ajaxSettings); myAjaxObject.execute(); }); - $('.ajax-insert-inline').once('ajax-insert').on('click', function (event) { event.preventDefault(); var ajaxSettings = { @@ -35,7 +34,6 @@ var myAjaxObject = Drupal.ajax(ajaxSettings); myAjaxObject.execute(); }); - $(context).addClass('processed'); } }; diff --git a/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js b/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js index b778339d446894325a93ab37535469d16928e278..4d71a2f3811bfe08a828b93d8a024ff68224bd81 100644 --- a/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js +++ b/core/modules/system/tests/modules/js_ajax_test/js/js_ajax_test.ajax.js @@ -9,12 +9,10 @@ Drupal.AjaxCommands.prototype.jsAjaxTestCommand = function (ajax, response) { var $domElement = $(response.selector); ajax.element_settings.cat = 'catbro'; - var data = { element_settings: ajax.element_settings.cat || {}, elementSettings: ajax.elementSettings.cat || {} }; - - $domElement.html('<div id="js_ajax_test_form_element">' + JSON.stringify(data) + '</div>'); + $domElement.html("<div id=\"js_ajax_test_form_element\">".concat(JSON.stringify(data), "</div>")); }; })(jQuery, Drupal); \ No newline at end of file diff --git a/core/modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.js b/core/modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.js index e1724ebe482820370b1af0327357fc88c621d357..18bdc0004bed3ff4307e96a35a40da9d87076acd 100644 --- a/core/modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.js +++ b/core/modules/system/tests/modules/js_deprecation_log_test/js/js_deprecation_log.js @@ -8,6 +8,7 @@ (function () { if (typeof console !== 'undefined' && console.warn) { var originalWarnFunction = console.warn; + console.warn = function (warning) { var warnings = JSON.parse(sessionStorage.getItem('js_deprecation_log_test.warnings') || JSON.stringify([])); warnings.push(warning); diff --git a/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js b/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js index e1c6178696d66bbb87aa26a5cb3da433bc8c1311..48ccbad18c0a9a8a1885fa8363595b1e24e7af64 100644 --- a/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js +++ b/core/modules/system/tests/modules/js_deprecation_test/js/js_deprecation_test.js @@ -15,12 +15,14 @@ message: 'This function is deprecated for testing purposes.' }); }; + var objectWithDeprecatedProperty = deprecatedProperty({ - target: { deprecatedProperty: 'Kitten' }, + target: { + deprecatedProperty: 'Kitten' + }, deprecatedProperty: 'deprecatedProperty', message: 'This property is deprecated for testing purposes.' }); - behaviors.testDeprecations = { attach: function attach() { deprecatedFunction(); diff --git a/core/modules/system/tests/modules/js_message_test/js/js_message_test.js b/core/modules/system/tests/modules/js_message_test/js/js_message_test.js index c9b18fd9658189ea797cb71641c0bcaa701e529e..be3478efc03728d3e62ffee0d04cfcc4acf7a302 100644 --- a/core/modules/system/tests/modules/js_message_test/js/js_message_test.js +++ b/core/modules/system/tests/modules/js_message_test/js/js_message_test.js @@ -8,12 +8,10 @@ (function ($, _ref, _ref2) { var behaviors = _ref.behaviors; var testMessages = _ref2.testMessages; - var indexes = {}; testMessages.types.forEach(function (type) { indexes[type] = []; }); - var messageObjects = { default: { zone: new Drupal.Message(), @@ -21,16 +19,13 @@ }, multiple: [] }; - messageObjects.default.zone.clear(); - testMessages.selectors.filter(Boolean).forEach(function (selector) { messageObjects[selector] = { zone: new Drupal.Message(document.querySelector(selector)), indexes: indexes }; }); - behaviors.js_message_test = { attach: function attach() { $('[data-drupal-messages-area]').once('messages-details').on('click', '[data-action]', function (e) { @@ -41,14 +36,18 @@ var action = $target.attr('data-action'); if (action === 'add') { - messageObjects[area].indexes[type].push(message.add('This is a message of the type, ' + type + '. You be the the judge of its importance.', { type: type })); + messageObjects[area].indexes[type].push(message.add("This is a message of the type, ".concat(type, ". You be the the judge of its importance."), { + type: type + })); } else if (action === 'remove') { message.remove(messageObjects[area].indexes[type].pop()); } }); $('[data-action="add-multiple"]').once('add-multiple').on('click', function () { [0, 1, 2, 3, 4, 5].forEach(function (i) { - messageObjects.multiple.push(messageObjects.default.zone.add('This is message number ' + i + ' of the type, ' + testMessages.types[i % testMessages.types.length] + '. You be the the judge of its importance.', { type: testMessages.types[i % testMessages.types.length] })); + messageObjects.multiple.push(messageObjects.default.zone.add("This is message number ".concat(i, " of the type, ").concat(testMessages.types[i % testMessages.types.length], ". You be the the judge of its importance."), { + type: testMessages.types[i % testMessages.types.length] + })); }); }); $('[data-action="remove-multiple"]').once('remove-multiple').on('click', function () { @@ -59,9 +58,13 @@ }); $('[data-action="add-multiple-error"]').once('add-multiple-error').on('click', function () { [0, 1, 2, 3, 4, 5].forEach(function (i) { - return messageObjects.default.zone.add('Msg-' + i, { type: 'error' }); + return messageObjects.default.zone.add("Msg-".concat(i), { + type: 'error' + }); + }); + messageObjects.default.zone.add("Msg-".concat(testMessages.types.length * 2), { + type: 'status' }); - messageObjects.default.zone.add('Msg-' + testMessages.types.length * 2, { type: 'status' }); }); $('[data-action="remove-type"]').once('remove-type').on('click', function () { Array.prototype.map.call(document.querySelectorAll('[data-drupal-message-id^="error"]'), function (element) { diff --git a/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js b/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js index c529bb3e1230f2560b220cc886d83a0f5b622cfc..8237f7a38d7b3952703360ea540af3cccdd9913b 100644 --- a/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js +++ b/core/modules/system/tests/modules/js_webassert_test/js/js_webassert_test.no_element_after_wait.js @@ -14,7 +14,6 @@ $('#edit-test-assert-no-element-after-wait-pass').remove(); }, 500); }); - $('#edit-test-assert-no-element-after-wait-fail').on('click', function (e) { e.preventDefault(); setTimeout(function () { diff --git a/core/modules/taxonomy/taxonomy.js b/core/modules/taxonomy/taxonomy.js index b15e5d14e80c8301453314fb79b3b3b9ea4be01c..0fe952bf06341937918875008e84d7687586a8fd 100644 --- a/core/modules/taxonomy/taxonomy.js +++ b/core/modules/taxonomy/taxonomy.js @@ -10,7 +10,6 @@ attach: function attach(context, settings) { var backStep = settings.taxonomy.backStep; var forwardStep = settings.taxonomy.forwardStep; - var tableDrag = Drupal.tableDrag.taxonomy; var $table = $('#taxonomy'); var rows = $table.find('tr').length; @@ -19,12 +18,13 @@ $table.find('tr.taxonomy-term-preview').removeClass('taxonomy-term-preview'); $table.find('tr.taxonomy-term-divider-top').removeClass('taxonomy-term-divider-top'); $table.find('tr.taxonomy-term-divider-bottom').removeClass('taxonomy-term-divider-bottom'); - var tableBody = $table[0].tBodies[0]; + if (backStep) { for (var n = 0; n < backStep; n++) { $(tableBody.rows[n]).addClass('taxonomy-term-preview'); } + $(tableBody.rows[backStep - 1]).addClass('taxonomy-term-divider-top'); $(tableBody.rows[backStep]).addClass('taxonomy-term-divider-bottom'); } @@ -33,6 +33,7 @@ for (var k = rows - forwardStep - 1; k < rows - 1; k++) { $(tableBody.rows[k]).addClass('taxonomy-term-preview'); } + $(tableBody.rows[rows - forwardStep - 2]).addClass('taxonomy-term-divider-top'); $(tableBody.rows[rows - forwardStep - 1]).addClass('taxonomy-term-divider-bottom'); } diff --git a/core/modules/text/text.js b/core/modules/text/text.js index 25a31e4221130e92e4c76ebec8f728addb8701a0..6bd1b9c2408ce1cec41dd38a8642dd895b83e124 100644 --- a/core/modules/text/text.js +++ b/core/modules/text/text.js @@ -10,7 +10,6 @@ attach: function attach(context, settings) { $(context).find('.js-text-summary').once('text-summary').each(function () { var $widget = $(this).closest('.js-text-format-wrapper'); - var $summary = $widget.find('.js-text-summary-wrapper'); var $summaryLabel = $summary.find('label').eq(0); var $full = $widget.children('.js-form-type-textarea'); @@ -20,7 +19,7 @@ $fullLabel = $('<label></label>').prependTo($full); } - var $link = $('<span class="field-edit-link"> (<button type="button" class="link link-edit-summary">' + Drupal.t('Hide summary') + '</button>)</span>'); + var $link = $("<span class=\"field-edit-link\"> (<button type=\"button\" class=\"link link-edit-summary\">".concat(Drupal.t('Hide summary'), "</button>)</span>")); var $button = $link.find('button'); var toggleClick = true; $link.on('click', function (e) { @@ -33,6 +32,7 @@ $button.html(Drupal.t('Hide summary')); $link.appendTo($summaryLabel); } + e.preventDefault(); toggleClick = !toggleClick; }).appendTo($summaryLabel); diff --git a/core/modules/toolbar/js/escapeAdmin.js b/core/modules/toolbar/js/escapeAdmin.js index b462be38f5ab85e2a088857aaa41dd89a4afcf44..0c469c2a43ad20c24a765f3d3e2bd53da711f4dc 100644 --- a/core/modules/toolbar/js/escapeAdmin.js +++ b/core/modules/toolbar/js/escapeAdmin.js @@ -17,6 +17,7 @@ Drupal.behaviors.escapeAdmin = { attach: function attach() { var $toolbarEscape = $('[data-toolbar-escape-admin]').once('escapeAdmin'); + if ($toolbarEscape.length && pathInfo.currentPathIsAdmin) { if (escapeAdminPath !== null) { $toolbarEscape.attr('href', escapeAdminPath); diff --git a/core/modules/toolbar/js/models/ToolbarModel.js b/core/modules/toolbar/js/models/ToolbarModel.js index 30ca577fbbbd1327af0048c0d6244cab9cb26cc2..8bf91dafa26f6a89f07575ad753cbec9bc97ed32 100644 --- a/core/modules/toolbar/js/models/ToolbarModel.js +++ b/core/modules/toolbar/js/models/ToolbarModel.js @@ -9,25 +9,15 @@ Drupal.toolbar.ToolbarModel = Backbone.Model.extend({ defaults: { activeTab: null, - activeTray: null, - isOriented: false, - isFixed: false, - areSubtreesLoaded: false, - isViewportOverflowConstrained: false, - orientation: 'horizontal', - locked: false, - isTrayToggleVisible: true, - height: null, - offsets: { top: 0, right: 0, @@ -35,7 +25,6 @@ left: 0 } }, - validate: function validate(attributes, options) { if (attributes.orientation === 'horizontal' && this.get('locked') && !options.override) { return Drupal.t('The toolbar cannot be set to a horizontal orientation when it is locked.'); diff --git a/core/modules/toolbar/js/toolbar.js b/core/modules/toolbar/js/toolbar.js index f705a9b0153cb2ea22b7e9a3b729e895ffc18e97..faf546e4e03efb09c231d56667dc9c775f94ef82 100644 --- a/core/modules/toolbar/js/toolbar.js +++ b/core/modules/toolbar/js/toolbar.js @@ -18,7 +18,6 @@ vertical: Drupal.t('Vertical orientation') } }); - Drupal.behaviors.toolbar = { attach: function attach(context) { if (!window.matchMedia('only screen').matches) { @@ -31,19 +30,14 @@ activeTab: document.getElementById(JSON.parse(localStorage.getItem('Drupal.toolbar.activeTabID'))), height: $('#toolbar-administration').outerHeight() }); - Drupal.toolbar.models.toolbarModel = model; - Object.keys(options.breakpoints).forEach(function (label) { var mq = options.breakpoints[label]; var mql = window.matchMedia(mq); Drupal.toolbar.mql[label] = mql; - mql.addListener(Drupal.toolbar.mediaQueryChangeHandler.bind(null, model, label)); - Drupal.toolbar.mediaQueryChangeHandler.call(null, model, label, mql); }); - Drupal.toolbar.views.toolbarVisualView = new Drupal.toolbar.ToolbarVisualView({ el: this, model: model, @@ -58,10 +52,8 @@ el: this, model: model }); - model.trigger('change:isFixed', model, model.get('isFixed')); model.trigger('change:activeTray', model, model.get('activeTray')); - var menuModel = new Drupal.toolbar.MenuModel(); Drupal.toolbar.models.menuModel = menuModel; Drupal.toolbar.views.menuVisualView = new Drupal.toolbar.MenuVisualView({ @@ -69,21 +61,16 @@ model: menuModel, strings: options.strings }); - Drupal.toolbar.setSubtrees.done(function (subtrees) { menuModel.set('subtrees', subtrees); var theme = drupalSettings.ajaxPageState.theme; - localStorage.setItem('Drupal.toolbar.subtrees.' + theme, JSON.stringify(subtrees)); - + localStorage.setItem("Drupal.toolbar.subtrees.".concat(theme), JSON.stringify(subtrees)); model.set('areSubtreesLoaded', true); }); - Drupal.toolbar.views.toolbarVisualView.loadSubtrees(); - $(document).on('drupalViewportOffsetChange.toolbar', function (event, offsets) { model.set('offsets', offsets); }); - model.on('change:orientation', function (model, orientation) { $(document).trigger('drupalToolbarOrientationChange', orientation); }).on('change:activeTab', function (model, tab) { @@ -105,11 +92,10 @@ if (settings.drupalOffCanvasPosition === 'top') { var height = Drupal.offCanvas.getContainer($element).outerHeight(); - $toolbar.css('margin-top', height + 'px'); - + $toolbar.css('margin-top', "".concat(height, "px")); $element.on('dialogContentResize.off-canvas', function () { var newHeight = Drupal.offCanvas.getContainer($element).outerHeight(); - $toolbar.css('margin-top', newHeight + 'px'); + $toolbar.css('margin-top', "".concat(newHeight, "px")); }); } }, @@ -120,16 +106,11 @@ }); } }; - Drupal.toolbar = { views: {}, - models: {}, - mql: {}, - setSubtrees: new $.Deferred(), - mediaQueryChangeHandler: function mediaQueryChangeHandler(model, label, mql) { switch (label) { case 'toolbar.narrow': @@ -139,8 +120,13 @@ }); if (!mql.matches || !model.get('orientation')) { - model.set({ orientation: 'vertical' }, { validate: true }); + model.set({ + orientation: 'vertical' + }, { + validate: true + }); } + break; case 'toolbar.standard': @@ -152,8 +138,9 @@ case 'toolbar.wide': model.set({ orientation: mql.matches && !model.get('locked') ? 'horizontal' : 'vertical' - }, { validate: true }); - + }, { + validate: true + }); model.set({ isTrayToggleVisible: mql.matches }); diff --git a/core/modules/toolbar/js/toolbar.menu.js b/core/modules/toolbar/js/toolbar.menu.js index 5f7345d8d4e80d1aa8f654049a7010e4f17d8797..fccab385afca468f5b7b5a7eb140c9513cf6a607 100644 --- a/core/modules/toolbar/js/toolbar.menu.js +++ b/core/modules/toolbar/js/toolbar.menu.js @@ -17,20 +17,15 @@ function toggleList($item, switcher) { var $toggle = $item.children('.toolbar-box').children('.toolbar-handle'); switcher = typeof switcher !== 'undefined' ? switcher : !$item.hasClass('open'); - $item.toggleClass('open', switcher); - $toggle.toggleClass('open', switcher); - $toggle.find('.action').text(switcher ? ui.handleClose : ui.handleOpen); } function toggleClickHandler(event) { var $toggle = $(event.target); var $item = $toggle.closest('li'); - toggleList($item); - var $openItems = $item.siblings().filter('.open'); toggleList($openItems, false); } @@ -49,11 +44,10 @@ action: ui.handleOpen, text: '' }; - $menu.find('li > a').wrap('<div class="toolbar-box">'); - $menu.find('li').each(function (index, element) { var $item = $(element); + if ($item.children('ul.toolbar-menu').length) { var $box = $item.children('.toolbar-box'); options.text = Drupal.t('@label', { @@ -66,20 +60,23 @@ function markListLevels($lists, level) { level = !level ? 1 : level; - var $lis = $lists.children('li').addClass('level-' + level); + var $lis = $lists.children('li').addClass("level-".concat(level)); $lists = $lis.children('ul'); + if ($lists.length) { markListLevels($lists, level + 1); } } function openActiveItem($menu) { - var pathItem = $menu.find('a[href="' + window.location.pathname + '"]'); + var pathItem = $menu.find("a[href=\"".concat(window.location.pathname, "\"]")); + if (pathItem.length && !activeItem) { activeItem = window.location.pathname; } + if (activeItem) { - var $activeItem = $menu.find('a[href="' + activeItem + '"]').addClass('menu-item--active'); + var $activeItem = $menu.find("a[href=\"".concat(activeItem, "\"]")).addClass('menu-item--active'); var $activeTrail = $activeItem.parentsUntil('.root', 'li').addClass('menu-item--active-trail'); toggleList($activeTrail, true); } @@ -87,19 +84,18 @@ return this.each(function (selector) { var $menu = $(this).once('toolbar-menu'); + if ($menu.length) { $menu.on('click.toolbar', '.toolbar-box', toggleClickHandler).on('click.toolbar', '.toolbar-box a', linkClickHandler); - $menu.addClass('root'); initItems($menu); markListLevels($menu); - openActiveItem($menu); } }); }; Drupal.theme.toolbarMenuItemToggle = function (options) { - return '<button class="' + options.class + '"><span class="action">' + options.action + '</span> <span class="label">' + options.text + '</span></button>'; + return "<button class=\"".concat(options.class, "\"><span class=\"action\">").concat(options.action, "</span> <span class=\"label\">").concat(options.text, "</span></button>"); }; })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/modules/toolbar/js/views/MenuVisualView.js b/core/modules/toolbar/js/views/MenuVisualView.js index 8156a8b11d9e23fead112830d03d4f9feb1c4c3d..a82214c87da71a80ccb89e9b00519cf64de7f7c4 100644 --- a/core/modules/toolbar/js/views/MenuVisualView.js +++ b/core/modules/toolbar/js/views/MenuVisualView.js @@ -14,9 +14,8 @@ var _this = this; var subtrees = this.model.get('subtrees'); - Object.keys(subtrees || {}).forEach(function (id) { - _this.$el.find('#toolbar-link-' + id).once('toolbar-subtrees').after(subtrees[id]); + _this.$el.find("#toolbar-link-".concat(id)).once('toolbar-subtrees').after(subtrees[id]); }); if ('drupalToolbarMenu' in $.fn) { diff --git a/core/modules/toolbar/js/views/ToolbarAuralView.js b/core/modules/toolbar/js/views/ToolbarAuralView.js index 6096d4170fdb67c3ec515670111de9b6cf393f28..fae40f334b9ced6a1be1193634a58166ea2f5f09 100644 --- a/core/modules/toolbar/js/views/ToolbarAuralView.js +++ b/core/modules/toolbar/js/views/ToolbarAuralView.js @@ -9,7 +9,6 @@ Drupal.toolbar.ToolbarAuralView = Backbone.View.extend({ initialize: function initialize(options) { this.strings = options.strings; - this.listenTo(this.model, 'change:orientation', this.onOrientationChange); this.listenTo(this.model, 'change:activeTray', this.onActiveTrayChange); }, @@ -24,17 +23,22 @@ if (!relevantTray) { return; } + var action = tray === null ? Drupal.t('closed') : Drupal.t('opened'); var trayNameElement = relevantTray.querySelector('.toolbar-tray-name'); - var text = void 0; + var text; + if (trayNameElement !== null) { text = Drupal.t('Tray "@tray" @action.', { '@tray': trayNameElement.textContent, '@action': action }); } else { - text = Drupal.t('Tray @action.', { '@action': action }); + text = Drupal.t('Tray @action.', { + '@action': action + }); } + Drupal.announce(text); } }); diff --git a/core/modules/toolbar/js/views/ToolbarVisualView.js b/core/modules/toolbar/js/views/ToolbarVisualView.js index 5b3fb6a32714610e106015682ba93e35997810f7..70013a04852eaa902a7a040a30e2355ce7598077 100644 --- a/core/modules/toolbar/js/views/ToolbarVisualView.js +++ b/core/modules/toolbar/js/views/ToolbarVisualView.js @@ -22,25 +22,20 @@ }, initialize: function initialize(options) { this.strings = options.strings; - this.listenTo(this.model, 'change:activeTab change:orientation change:isOriented change:isTrayToggleVisible', this.render); this.listenTo(this.model, 'change:mqMatches', this.onMediaQueryChange); this.listenTo(this.model, 'change:offsets', this.adjustPlacement); this.listenTo(this.model, 'change:activeTab change:orientation change:isOriented', this.updateToolbarHeight); - this.$el.find('.toolbar-tray .toolbar-lining').append(Drupal.theme('toolbarOrientationToggle')); - this.model.trigger('change:activeTab'); }, updateToolbarHeight: function updateToolbarHeight() { var toolbarTabOuterHeight = $('#toolbar-bar').find('.toolbar-tab').outerHeight() || 0; var toolbarTrayHorizontalOuterHeight = $('.is-active.toolbar-tray-horizontal').outerHeight() || 0; this.model.set('height', toolbarTabOuterHeight + toolbarTrayHorizontalOuterHeight); - $('body').css({ 'padding-top': this.model.get('height') }); - this.triggerDisplace(); }, triggerDisplace: function triggerDisplace() { @@ -52,7 +47,6 @@ this.updateTabs(); this.updateTrayOrientation(); this.updateBarAttributes(); - $('body').removeClass('toolbar-loading'); if (this.model.changed.orientation === 'vertical' || this.model.changed.activeTab) { @@ -65,16 +59,13 @@ if (event.currentTarget.hasAttribute('data-toolbar-tray')) { var activeTab = this.model.get('activeTab'); var clickedTab = event.currentTarget; - this.model.set('activeTab', !activeTab || clickedTab !== activeTab ? clickedTab : null); - event.preventDefault(); event.stopPropagation(); } }, onOrientationToggleClick: function onOrientationToggleClick(event) { var orientation = this.model.get('orientation'); - var antiOrientation = orientation === 'vertical' ? 'horizontal' : 'vertical'; var locked = antiOrientation === 'vertical'; @@ -91,27 +82,25 @@ validate: true, override: true }); - event.preventDefault(); event.stopPropagation(); }, updateTabs: function updateTabs() { var $tab = $(this.model.get('activeTab')); - $(this.model.previous('activeTab')).removeClass('is-active').prop('aria-pressed', false); - $(this.model.previous('activeTray')).removeClass('is-active'); if ($tab.length > 0) { $tab.addClass('is-active').prop('aria-pressed', true); var name = $tab.attr('data-toolbar-tray'); - var id = $tab.get(0).id; + if (id) { localStorage.setItem('Drupal.toolbar.activeTabID', JSON.stringify(id)); } - var $tray = this.$el.find('[data-toolbar-tray="' + name + '"].toolbar-tray'); + var $tray = this.$el.find("[data-toolbar-tray=\"".concat(name, "\"].toolbar-tray")); + if ($tray.length) { $tray.addClass('is-active'); this.model.set('activeTray', $tray.get(0)); @@ -125,6 +114,7 @@ }, updateBarAttributes: function updateBarAttributes() { var isOriented = this.model.get('isOriented'); + if (isOriented) { this.$el.find('.toolbar-bar').attr('data-offset-top', ''); } else { @@ -135,30 +125,23 @@ }, updateTrayOrientation: function updateTrayOrientation() { var orientation = this.model.get('orientation'); - var antiOrientation = orientation === 'vertical' ? 'horizontal' : 'vertical'; - $('body').toggleClass('toolbar-vertical', orientation === 'vertical').toggleClass('toolbar-horizontal', orientation === 'horizontal'); - var removeClass = antiOrientation === 'horizontal' ? 'toolbar-tray-horizontal' : 'toolbar-tray-vertical'; - var $trays = this.$el.find('.toolbar-tray').removeClass(removeClass).addClass('toolbar-tray-' + orientation); - - var iconClass = 'toolbar-icon-toggle-' + orientation; - var iconAntiClass = 'toolbar-icon-toggle-' + antiOrientation; + var $trays = this.$el.find('.toolbar-tray').removeClass(removeClass).addClass("toolbar-tray-".concat(orientation)); + var iconClass = "toolbar-icon-toggle-".concat(orientation); + var iconAntiClass = "toolbar-icon-toggle-".concat(antiOrientation); var $orientationToggle = this.$el.find('.toolbar-toggle-orientation').toggle(this.model.get('isTrayToggleVisible')); $orientationToggle.find('button').val(antiOrientation).attr('title', this.strings[antiOrientation]).text(this.strings[antiOrientation]).removeClass(iconClass).addClass(iconAntiClass); - var dir = document.documentElement.dir; var edge = dir === 'rtl' ? 'right' : 'left'; - $trays.removeAttr('data-offset-left data-offset-right data-offset-top'); - - $trays.filter('.toolbar-tray-vertical.is-active').attr('data-offset-' + edge, ''); - + $trays.filter('.toolbar-tray-vertical.is-active').attr("data-offset-".concat(edge), ''); $trays.filter('.toolbar-tray-horizontal.is-active').attr('data-offset-top', ''); }, adjustPlacement: function adjustPlacement() { var $trays = this.$el.find('.toolbar-tray'); + if (!this.model.get('isOriented')) { $trays.removeClass('toolbar-tray-horizontal').addClass('toolbar-tray-vertical'); } @@ -170,20 +153,20 @@ if (!this.model.get('areSubtreesLoaded') && typeof $activeTab.data('drupal-subtrees') !== 'undefined' && orientation === 'vertical') { var subtreesHash = drupalSettings.toolbar.subtreesHash; var theme = drupalSettings.ajaxPageState.theme; - var endpoint = Drupal.url('toolbar/subtrees/' + subtreesHash); - var cachedSubtreesHash = localStorage.getItem('Drupal.toolbar.subtreesHash.' + theme); - var cachedSubtrees = JSON.parse(localStorage.getItem('Drupal.toolbar.subtrees.' + theme)); + var endpoint = Drupal.url("toolbar/subtrees/".concat(subtreesHash)); + var cachedSubtreesHash = localStorage.getItem("Drupal.toolbar.subtreesHash.".concat(theme)); + var cachedSubtrees = JSON.parse(localStorage.getItem("Drupal.toolbar.subtrees.".concat(theme))); var isVertical = this.model.get('orientation') === 'vertical'; if (isVertical && subtreesHash === cachedSubtreesHash && cachedSubtrees) { Drupal.toolbar.setSubtrees.resolve(cachedSubtrees); } else if (isVertical) { - localStorage.removeItem('Drupal.toolbar.subtreesHash.' + theme); - localStorage.removeItem('Drupal.toolbar.subtrees.' + theme); - - Drupal.ajax({ url: endpoint }).execute(); - - localStorage.setItem('Drupal.toolbar.subtreesHash.' + theme, subtreesHash); + localStorage.removeItem("Drupal.toolbar.subtreesHash.".concat(theme)); + localStorage.removeItem("Drupal.toolbar.subtrees.".concat(theme)); + Drupal.ajax({ + url: endpoint + }).execute(); + localStorage.setItem("Drupal.toolbar.subtreesHash.".concat(theme), subtreesHash); } } } diff --git a/core/modules/tour/js/tour.js b/core/modules/tour/js/tour.js index 8893fc3b14216a4bf465f4b440cd73514fb81898..1b5be3791a6d65342d72d5c17838e4eab58c3f0d 100644 --- a/core/modules/tour/js/tour.js +++ b/core/modules/tour/js/tour.js @@ -7,7 +7,6 @@ (function ($, Backbone, Drupal, document) { var queryString = decodeURI(window.location.search); - Drupal.behaviors.tour = { attach: function attach(context) { $('body').once('tour').each(function () { @@ -16,7 +15,6 @@ el: $(context).find('#toolbar-tab-tour'), model: model }); - model.on('change:isActive', function (model, isActive) { $(document).trigger(isActive ? 'drupalTourStarted' : 'drupalTourStopped'); }).set('tour', $(context).find('ol#tour')); @@ -27,33 +25,27 @@ }); } }; - Drupal.tour = Drupal.tour || { models: {}, - views: {} }; - Drupal.tour.models.StateModel = Backbone.Model.extend({ defaults: { tour: [], - isActive: false, - activeTour: [] } }); - Drupal.tour.views.ToggleTourView = Backbone.View.extend({ - events: { click: 'onClick' }, - + events: { + click: 'onClick' + }, initialize: function initialize() { this.listenTo(this.model, 'change:tour change:isActive', this.render); this.listenTo(this.model, 'change:isActive', this.toggleTour); }, render: function render() { this.$el.toggleClass('hidden', this._getTour().length === 0); - var isActive = this.model.get('isActive'); this.$el.find('button').toggleClass('is-active', isActive).prop('aria-pressed', isActive); return this; @@ -61,26 +53,34 @@ toggleTour: function toggleTour() { if (this.model.get('isActive')) { var $tour = this._getTour(); + this._removeIrrelevantTourItems($tour, this._getDocument()); + var that = this; var close = Drupal.t('Close'); + if ($tour.find('li').length) { $tour.joyride({ autoStart: true, postRideCallback: function postRideCallback() { that.model.set('isActive', false); }, - template: { - link: '<a href="#close" class="joyride-close-tip" aria-label="' + close + '">×</a>', + link: "<a href=\"#close\" class=\"joyride-close-tip\" aria-label=\"".concat(close, "\">×</a>"), button: '<a href="#" class="button button--primary joyride-next-tip"></a>' } }); - this.model.set({ isActive: true, activeTour: $tour }); + this.model.set({ + isActive: true, + activeTour: $tour + }); } } else { this.model.get('activeTour').joyride('destroy'); - this.model.set({ isActive: false, activeTour: [] }); + this.model.set({ + isActive: false, + activeTour: [] + }); } }, onClick: function onClick(event) { @@ -108,17 +108,21 @@ return; } - if (!itemId && !itemClass || itemId && $document.find('#' + itemId).length || itemClass && $document.find('.' + itemClass).length) { + if (!itemId && !itemClass || itemId && $document.find("#".concat(itemId)).length || itemClass && $document.find(".".concat(itemClass)).length) { return; } + removals = true; $this.remove(); }); if (removals) { var total = $tour.find('li').length; + if (!total) { - this.model.set({ tour: [] }); + this.model.set({ + tour: [] + }); } $tour.find('li').each(function (index) { diff --git a/core/modules/tracker/js/tracker-history.js b/core/modules/tracker/js/tracker-history.js index 30a500fe708f154295fb4b1795f6d5bf8d54885c..dcfa946d3c332281be1635ca1777d6605c10c2c0 100644 --- a/core/modules/tracker/js/tracker-history.js +++ b/core/modules/tracker/js/tracker-history.js @@ -9,7 +9,6 @@ function processNodeNewIndicators($placeholders) { var newNodeString = Drupal.t('new'); var updatedNodeString = Drupal.t('updated'); - $placeholders.each(function (index, placeholder) { var timestamp = parseInt(placeholder.getAttribute('data-history-node-timestamp'), 10); var nodeID = placeholder.getAttribute('data-history-node-id'); @@ -17,7 +16,7 @@ if (timestamp > lastViewTimestamp) { var message = lastViewTimestamp === 0 ? newNodeString : updatedNodeString; - $(placeholder).append('<span class="marker">' + message + '</span>'); + $(placeholder).append("<span class=\"marker\">".concat(message, "</span>")); } }); } @@ -33,22 +32,25 @@ placeholdersToUpdate[nodeID] = placeholder; } }); - var nodeIDs = Object.keys(placeholdersToUpdate); + if (nodeIDs.length === 0) { return; } + $.ajax({ url: Drupal.url('comments/render_new_comments_node_links'), type: 'POST', - data: { 'node_ids[]': nodeIDs }, + data: { + 'node_ids[]': nodeIDs + }, dataType: 'json', success: function success(results) { Object.keys(results || {}).forEach(function (nodeID) { if (placeholdersToUpdate.hasOwnProperty(nodeID)) { var url = results[nodeID].first_new_comment_link; var text = Drupal.formatPlural(results[nodeID].new_comment_count, '1 new', '@count new'); - $(placeholdersToUpdate[nodeID]).append('<br /><a href="' + url + '">' + text + '</a>'); + $(placeholdersToUpdate[nodeID]).append("<br /><a href=\"".concat(url, "\">").concat(text, "</a>")); } }); } @@ -61,6 +63,7 @@ var $nodeNewPlaceholders = $(context).find('[data-history-node-timestamp]').once('history').filter(function () { var nodeTimestamp = parseInt(this.getAttribute('data-history-node-timestamp'), 10); var nodeID = this.getAttribute('data-history-node-id'); + if (Drupal.history.needsServerCheck(nodeID, nodeTimestamp)) { nodeIDs.push(nodeID); return true; @@ -68,7 +71,6 @@ return false; }); - var $newRepliesPlaceholders = $(context).find('[data-history-node-last-comment-timestamp]').once('history').filter(function () { var lastCommentTimestamp = parseInt(this.getAttribute('data-history-node-last-comment-timestamp'), 10); var nodeTimestamp = parseInt(this.previousSibling.previousSibling.getAttribute('data-history-node-timestamp'), 10); @@ -76,11 +78,14 @@ if (lastCommentTimestamp === nodeTimestamp) { return false; } + var nodeID = this.previousSibling.previousSibling.getAttribute('data-history-node-id'); + if (Drupal.history.needsServerCheck(nodeID, lastCommentTimestamp)) { if (nodeIDs.indexOf(nodeID) === -1) { nodeIDs.push(nodeID); } + return true; } diff --git a/core/modules/user/user.js b/core/modules/user/user.js index 40852ff8bcb8247d8efdb35fe41457db1b38a90d..b82261f7dd8b6651528f71c4b4ac6c39ae7f091e 100644 --- a/core/modules/user/user.js +++ b/core/modules/user/user.js @@ -12,21 +12,17 @@ if ($passwordInput.length) { var translate = settings.password; - var $passwordInputParent = $passwordInput.parent(); var $passwordInputParentWrapper = $passwordInputParent.parent(); - var $passwordSuggestions = void 0; - + var $passwordSuggestions; $passwordInputParent.addClass('password-parent'); - $passwordInputParentWrapper.find('input.js-password-confirm').parent().append(Drupal.theme('passwordConfirmMessage', translate)).addClass('confirm-parent'); - var $confirmInput = $passwordInputParentWrapper.find('input.js-password-confirm'); var $confirmResult = $passwordInputParentWrapper.find('div.js-password-confirm-message'); var $confirmChild = $confirmResult.find('span'); if (settings.password.showStrengthIndicator) { - var passwordMeter = '<div class="password-strength"><div class="password-strength__meter"><div class="password-strength__indicator js-password-strength__indicator"></div></div><div aria-live="polite" aria-atomic="true" class="password-strength__title">' + translate.strengthTitle + ' <span class="password-strength__text js-password-strength__text"></span></div></div>'; + var passwordMeter = "<div class=\"password-strength\"><div class=\"password-strength__meter\"><div class=\"password-strength__indicator js-password-strength__indicator\"></div></div><div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-strength__title\">".concat(translate.strengthTitle, " <span class=\"password-strength__text js-password-strength__text\"></span></div></div>"); $confirmInput.parent().after('<div class="password-suggestions description"></div>'); $passwordInputParent.append(passwordMeter); $passwordSuggestions = $passwordInputParentWrapper.find('div.password-suggestions').hide(); @@ -35,8 +31,7 @@ var passwordCheckMatch = function passwordCheckMatch(confirmInputVal) { var success = $passwordInput.val() === confirmInputVal; var confirmClass = success ? 'ok' : 'error'; - - $confirmChild.html(translate['confirm' + (success ? 'Success' : 'Failure')]).removeClass('ok error').addClass(confirmClass); + $confirmChild.html(translate["confirm".concat(success ? 'Success' : 'Failure')]).removeClass('ok error').addClass(confirmClass); }; var passwordCheck = function passwordCheck() { @@ -48,17 +43,19 @@ } $passwordSuggestions.toggle(result.strength !== 100); - - $passwordInputParent.find('.js-password-strength__indicator').css('width', result.strength + '%').removeClass('is-weak is-fair is-good is-strong').addClass(result.indicatorClass); - + $passwordInputParent.find('.js-password-strength__indicator').css('width', "".concat(result.strength, "%")).removeClass('is-weak is-fair is-good is-strong').addClass(result.indicatorClass); $passwordInputParent.find('.js-password-strength__text').html(result.indicatorText); } if ($confirmInput.val()) { passwordCheckMatch($confirmInput.val()); - $confirmResult.css({ visibility: 'visible' }); + $confirmResult.css({ + visibility: 'visible' + }); } else { - $confirmResult.css({ visibility: 'hidden' }); + $confirmResult.css({ + visibility: 'hidden' + }); } }; @@ -70,17 +67,15 @@ Drupal.evaluatePasswordStrength = function (password, translate) { password = password.trim(); - var indicatorText = void 0; - var indicatorClass = void 0; + var indicatorText; + var indicatorClass; var weaknesses = 0; var strength = 100; var msg = []; - var hasLowercase = /[a-z]/.test(password); var hasUppercase = /[A-Z]/.test(password); var hasNumbers = /[0-9]/.test(password); var hasPunctuation = /[^a-zA-Z0-9]/.test(password); - var $usernameBox = $('input.username'); var username = $usernameBox.length > 0 ? $usernameBox.val() : translate.username; @@ -93,14 +88,17 @@ msg.push(translate.addLowerCase); weaknesses++; } + if (!hasUppercase) { msg.push(translate.addUpperCase); weaknesses++; } + if (!hasNumbers) { msg.push(translate.addNumbers); weaknesses++; } + if (!hasPunctuation) { msg.push(translate.addPunctuation); weaknesses++; @@ -126,7 +124,6 @@ if (password !== '' && password.toLowerCase() === username.toLowerCase()) { msg.push(translate.sameAsUsername); - strength = 5; } @@ -144,8 +141,7 @@ indicatorClass = 'is-strong'; } - msg = translate.hasWeaknesses + '<ul><li>' + msg.join('</li><li>') + '</li></ul>'; - + msg = "".concat(translate.hasWeaknesses, "<ul><li>").concat(msg.join('</li><li>'), "</li></ul>"); return { strength: strength, message: msg, diff --git a/core/modules/user/user.permissions.js b/core/modules/user/user.permissions.js index 1bfbbec5ae936ea26410eef142e305ad74bb8dd8..f28e9f171069ef5e255e48e3a4d16f468b9d2a94 100644 --- a/core/modules/user/user.permissions.js +++ b/core/modules/user/user.permissions.js @@ -11,8 +11,9 @@ var self = this; $('table#permissions').once('permissions').each(function () { var $table = $(this); - var $ancestor = void 0; - var method = void 0; + var $ancestor; + var method; + if ($table.prev().length) { $ancestor = $table.prev(); method = 'after'; @@ -20,21 +21,17 @@ $ancestor = $table.parent(); method = 'append'; } - $table.detach(); + $table.detach(); var $dummy = $(Drupal.theme('checkbox')).removeClass('form-checkbox').addClass('dummy-checkbox js-dummy-checkbox').attr('disabled', 'disabled').attr('checked', 'checked').attr('title', Drupal.t('This permission is inherited from the authenticated user role.')).hide(); - $table.find('input[type="checkbox"]').not('.js-rid-anonymous, .js-rid-authenticated').addClass('real-checkbox js-real-checkbox').after($dummy); - $table.find('input[type=checkbox].js-rid-authenticated').on('click.permissions', self.toggle).each(self.toggle); - $ancestor[method]($table); }); }, toggle: function toggle() { var authCheckbox = this; var $row = $(this).closest('tr'); - $row.find('.js-real-checkbox').each(function () { this.style.display = authCheckbox.checked ? 'none' : ''; }); diff --git a/core/modules/user/user.theme.js b/core/modules/user/user.theme.js index 8b7b0280c887b471907a1f84a3516c31a80c92a9..4e00e623192aa9f1c09741e48ab116dbe1a456f6 100644 --- a/core/modules/user/user.theme.js +++ b/core/modules/user/user.theme.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.passwordConfirmMessage = function (translate) { - return "<div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-confirm-message js-password-confirm-message\">" + translate.confirmTitle + " <span></span></div>"; + return "<div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-confirm-message js-password-confirm-message\">".concat(translate.confirmTitle, " <span></span></div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/modules/views/js/ajax_view.js b/core/modules/views/js/ajax_view.js index 95a803d7fec8ab22d42b8a87704f6a5f557318f2..794bf80a6225484e2f6e49cd38944c4c6ad9116f 100644 --- a/core/modules/views/js/ajax_view.js +++ b/core/modules/views/js/ajax_view.js @@ -7,22 +7,23 @@ (function ($, Drupal, drupalSettings) { Drupal.behaviors.ViewsAjaxView = {}; + Drupal.behaviors.ViewsAjaxView.attach = function (context, settings) { if (settings && settings.views && settings.views.ajaxViews) { var ajaxViews = settings.views.ajaxViews; - Object.keys(ajaxViews || {}).forEach(function (i) { Drupal.views.instances[i] = new Drupal.views.ajaxView(ajaxViews[i]); }); } }; + Drupal.behaviors.ViewsAjaxView.detach = function (context, settings, trigger) { if (trigger === 'unload') { if (settings && settings.views && settings.views.ajaxViews) { var ajaxViews = settings.views.ajaxViews; - Object.keys(ajaxViews || {}).forEach(function (i) { - var selector = '.js-view-dom-id-' + ajaxViews[i].view_dom_id; + var selector = ".js-view-dom-id-".concat(ajaxViews[i].view_dom_id); + if ($(selector, context).length) { delete Drupal.views.instances[i]; delete settings.views.ajaxViews[i]; @@ -33,13 +34,11 @@ }; Drupal.views = {}; - Drupal.views.instances = {}; Drupal.views.ajaxView = function (settings) { - var selector = '.js-view-dom-id-' + settings.view_dom_id; + var selector = ".js-view-dom-id-".concat(settings.view_dom_id); this.$view = $(selector); - var ajaxPath = drupalSettings.views.ajax_path; if (ajaxPath.constructor.toString().indexOf('Array') !== -1) { @@ -47,8 +46,10 @@ } var queryString = window.location.search || ''; + if (queryString !== '') { queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, ''); + if (queryString !== '') { queryString = (/\?/.test(ajaxPath) ? '&' : '?') + queryString; } @@ -60,16 +61,14 @@ setClick: true, event: 'click', selector: selector, - progress: { type: 'fullscreen' } + progress: { + type: 'fullscreen' + } }; - this.settings = settings; - - this.$exposed_form = $('form#views-exposed-form-' + settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-')); + this.$exposed_form = $("form#views-exposed-form-".concat(settings.view_name.replace(/_/g, '-'), "-").concat(settings.view_display_id.replace(/_/g, '-'))); this.$exposed_form.once('exposed-form').each($.proxy(this.attachExposedFormAjax, this)); - this.$view.filter($.proxy(this.filterNestedViews, this)).once('ajax-pager').each($.proxy(this.attachPagerAjax, this)); - var selfSettings = $.extend({}, this.element_settings, { event: 'RefreshView', base: this.selector, @@ -81,7 +80,6 @@ Drupal.views.ajaxView.prototype.attachExposedFormAjax = function () { var that = this; this.exposedFormAjax = []; - $('input[type=submit], input[type=image]', this.$exposed_form).not('[data-drupal-selector=edit-reset]').each(function (index) { var selfSettings = $.extend({}, that.element_settings, { base: $(this).attr('id'), @@ -103,9 +101,7 @@ var $link = $(link); var viewData = {}; var href = $link.attr('href'); - $.extend(viewData, this.settings, Drupal.Views.parseQueryString(href), Drupal.Views.parseViewArgs(href, this.settings.view_base_path)); - var selfSettings = $.extend({}, this.element_settings, { submit: viewData, base: false, @@ -116,14 +112,16 @@ Drupal.AjaxCommands.prototype.viewsScrollTop = function (ajax, response) { var offset = $(response.selector).offset(); - var scrollTarget = response.selector; + while ($(scrollTarget).scrollTop() === 0 && $(scrollTarget).parent()) { scrollTarget = $(scrollTarget).parent(); } if (offset.top - 10 < $(scrollTarget).scrollTop()) { - $(scrollTarget).animate({ scrollTop: offset.top - 10 }, 500); + $(scrollTarget).animate({ + scrollTop: offset.top - 10 + }, 500); } }; })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/modules/views/js/base.js b/core/modules/views/js/base.js index be522cf5aa24e985f482363fa7670972fea2e8dd..4f434ecc7f1bcdbff989540bc205826fb217a0ce 100644 --- a/core/modules/views/js/base.js +++ b/core/modules/views/js/base.js @@ -11,11 +11,14 @@ Drupal.Views.parseQueryString = function (query) { var args = {}; var pos = query.indexOf('?'); + if (pos !== -1) { query = query.substring(pos + 1); } - var pair = void 0; + + var pair; var pairs = query.split('&'); + for (var i = 0; i < pairs.length; i++) { pair = pairs[i].split('='); @@ -23,27 +26,30 @@ args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' ')); } } + return args; }; Drupal.Views.parseViewArgs = function (href, viewPath) { var returnObj = {}; var path = Drupal.Views.getPath(href); - var viewHref = Drupal.url(viewPath).substring(drupalSettings.path.baseUrl.length); - if (viewHref && path.substring(0, viewHref.length + 1) === viewHref + '/') { + if (viewHref && path.substring(0, viewHref.length + 1) === "".concat(viewHref, "/")) { returnObj.view_args = decodeURIComponent(path.substring(viewHref.length + 1, path.length)); returnObj.view_path = path; } + return returnObj; }; Drupal.Views.pathPortion = function (href) { var protocol = window.location.protocol; + if (href.substring(0, protocol.length) === protocol) { href = href.substring(href.indexOf('/', protocol.length + 2)); } + return href; }; @@ -54,12 +60,15 @@ if (href.substring(0, 3) === '?q=') { href = href.substring(3, href.length); } + var chars = ['#', '?', '&']; + for (var i = 0; i < chars.length; i++) { if (href.indexOf(chars[i]) > -1) { href = href.substr(0, href.indexOf(chars[i])); } } + return href; }; })(jQuery, Drupal, drupalSettings); \ No newline at end of file diff --git a/core/modules/views_ui/js/ajax.js b/core/modules/views_ui/js/ajax.js index b7b9dcf53b27a6dfd463620cac49ced9152afed9..e233b41b6c5a456c9857369f907a5677ee3b848b 100644 --- a/core/modules/views_ui/js/ajax.js +++ b/core/modules/views_ui/js/ajax.js @@ -13,7 +13,6 @@ Drupal.AjaxCommands.prototype.viewsSetForm = function (ajax, response, status) { var $form = $('.js-views-ui-dialog form'); - var $submitButtons = $form.find('input[type=submit].js-form-submit, button.js-form-submit').once('views-ajax-submit'); $submitButtons.on('click mousedown', function () { this.form.clk = this; @@ -33,6 +32,7 @@ Drupal.AjaxCommands.prototype.viewsShowButtons = function (ajax, response, status) { $('div.views-edit-view div.form-actions').removeClass('js-hide'); + if (response.changed) { $('div.views-edit-view div.view-changed.messages').removeClass('js-hide'); } @@ -46,13 +46,10 @@ Drupal.AjaxCommands.prototype.viewsReplaceTitle = function (ajax, response, status) { var doc = document; - var oldTitle = doc.title; - var escapedSiteName = response.siteName.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); - var re = new RegExp('.+ (.) ' + escapedSiteName); - doc.title = oldTitle.replace(re, response.title + ' $1 ' + response.siteName); - + var re = new RegExp(".+ (.) ".concat(escapedSiteName)); + doc.title = oldTitle.replace(re, "".concat(response.title, " $1 ").concat(response.siteName)); $('h1.page-title').text(response.title); }; @@ -69,27 +66,24 @@ }); } }; - Drupal.behaviors.syncPreviewDisplay = { attach: function attach(context) { $('#views-tabset a').once('views-ajax').on('click', function () { var href = $(this).attr('href'); - var displayId = href.substr(11); - $('#views-live-preview #preview-display-id').val(displayId); }); } }; - Drupal.behaviors.viewsAjax = { collapseReplaced: false, attach: function attach(context, settings) { var baseElementSettings = { event: 'click', - progress: { type: 'fullscreen' } + progress: { + type: 'fullscreen' + } }; - $('a.views-ajax-link', context).once('views-ajax').each(function () { var elementSettings = baseElementSettings; elementSettings.base = $(this).attr('id'); @@ -98,17 +92,17 @@ if ($(this).attr('href')) { elementSettings.url = $(this).attr('href'); } + Drupal.ajax(elementSettings); }); - $('div#views-live-preview a').once('views-ajax').each(function () { if (!$(this).attr('href')) { return true; } var elementSettings = baseElementSettings; - elementSettings.url = $(this).attr('href'); + if (Drupal.Views.getPath(elementSettings.url).substring(0, 21) !== 'admin/structure/views') { return true; } @@ -119,15 +113,14 @@ elementSettings.element = this; Drupal.ajax(elementSettings); }); - $('div#views-live-preview input[type=submit]').once('views-ajax').each(function (event) { $(this).on('click', function () { this.form.clk = this; return true; }); var elementSettings = baseElementSettings; - elementSettings.url = $(this.form).attr('action'); + if (Drupal.Views.getPath(elementSettings.url).substring(0, 21) !== 'admin/structure/views') { return true; } @@ -137,7 +130,6 @@ elementSettings.event = 'click'; elementSettings.base = $(this).attr('id'); elementSettings.element = this; - Drupal.ajax(elementSettings); }); } diff --git a/core/modules/views_ui/js/dialog.views.js b/core/modules/views_ui/js/dialog.views.js index fde193530cf98b2e9f17700b2d42fee2e9ea20fe..18739a94ee5c9e9f9e5a282a6a2044222f459118 100644 --- a/core/modules/views_ui/js/dialog.views.js +++ b/core/modules/views_ui/js/dialog.views.js @@ -11,19 +11,20 @@ var $viewsOverride = $modal.find('[data-drupal-views-offset]'); var $scroll = $modal.find('[data-drupal-views-scroll]'); var offset = 0; - var modalHeight = void 0; + var modalHeight; + if ($scroll.length) { $modal.closest('.views-ui-dialog').addClass('views-ui-dialog-scroll'); - - $scroll.css({ overflow: 'visible', height: 'auto' }); + $scroll.css({ + overflow: 'visible', + height: 'auto' + }); modalHeight = $modal.height(); $viewsOverride.each(function () { offset += $(this).outerHeight(); }); - var scrollOffset = $scroll.outerHeight() - $scroll.height(); $scroll.height(modalHeight - offset - scrollOffset); - $modal.css('overflow', 'hidden'); $scroll.css('overflow', 'auto'); } @@ -32,7 +33,6 @@ Drupal.behaviors.viewsModalContent = { attach: function attach(context) { $('body').once('viewsDialog').on('dialogContentResize.viewsDialog', '.ui-dialog-content', handleDialogResize); - $(context).find('.scroll').once('detailsUpdate').on('click', 'summary', function (e) { $(e.currentTarget).trigger('dialogContentResize'); }); diff --git a/core/modules/views_ui/js/views-admin.js b/core/modules/views_ui/js/views-admin.js index 5cc0ef29d371e73b72599a151240cdde427a7805..d2c1e8192ba012659c048f9344f19f88e19a1c72 100644 --- a/core/modules/views_ui/js/views-admin.js +++ b/core/modules/views_ui/js/views-admin.js @@ -7,7 +7,6 @@ (function ($, Drupal, drupalSettings) { Drupal.viewsUi = {}; - Drupal.behaviors.viewsUiEditView = { attach: function attach() { $('[data-drupal-selector="edit-query-options-disable-sql-rewrite"]').on('click', function () { @@ -15,16 +14,14 @@ }); } }; - Drupal.behaviors.viewsUiAddView = { attach: function attach(context) { var $context = $(context); - var exclude = new RegExp('[^a-z0-9\\-]+', 'g'); var replace = '-'; - var suffix = void 0; - + var suffix; var $fields = $context.find('[id^="edit-page-title"], [id^="edit-block-title"], [id^="edit-page-link-properties-title"]'); + if ($fields.length) { if (!this.fieldsFiller) { this.fieldsFiller = new Drupal.viewsUi.FormFieldFiller($fields); @@ -34,6 +31,7 @@ } var $pathField = $context.find('[id^="edit-page-path"]'); + if ($pathField.length) { if (!this.pathFiller) { this.pathFiller = new Drupal.viewsUi.FormFieldFiller($pathField, exclude, replace); @@ -43,6 +41,7 @@ } var $feedField = $context.find('[id^="edit-page-feed-properties-path"]'); + if ($feedField.length) { if (!this.feedFiller) { suffix = '.xml'; @@ -56,15 +55,10 @@ Drupal.viewsUi.FormFieldFiller = function ($target, exclude, replace, suffix) { this.source = $('#edit-label'); - this.target = $target; - this.exclude = exclude || false; - this.replace = replace || ''; - this.suffix = suffix || ''; - var self = this; this.populate = function () { @@ -81,16 +75,16 @@ $.extend(Drupal.viewsUi.FormFieldFiller.prototype, { bind: function bind() { this.unbind(); - this.source.on('keyup.viewsUi change.viewsUi', this.populate); - this.target.on('focus.viewsUi', this.unbind); }, getTransliterated: function getTransliterated() { var from = this.source.val(); + if (this.exclude) { from = from.toLowerCase().replace(this.exclude, this.replace); } + return from; }, _populate: function _populate() { @@ -110,7 +104,6 @@ this.bind(); } }); - Drupal.behaviors.addItemForm = { attach: function attach(context) { var $context = $(context); @@ -119,6 +112,7 @@ if (!$context.is('form[id^="views-ui-add-handler-form"]')) { $form = $context.find('form[id^="views-ui-add-handler-form"]'); } + if ($form.once('views-ui-add-handler-form').length) { new Drupal.viewsUi.AddItemForm($form); } @@ -128,10 +122,8 @@ Drupal.viewsUi.AddItemForm = function ($form) { this.$form = $form; this.$form.find('.views-filterable-options :checkbox').on('click', $.proxy(this.handleCheck, this)); - this.$selected_div = this.$form.find('.views-selected-options').parent(); this.$selected_div.hide(); - this.checkedItems = []; }; @@ -157,6 +149,7 @@ this.$selected_div.hide(); } } + this.refreshCheckedItems(); }; @@ -167,31 +160,31 @@ Drupal.behaviors.viewsUiRenderAddViewButton = { attach: function attach(context) { var $menu = $(context).find('#views-display-menu-tabs').once('views-ui-render-add-view-button'); + if (!$menu.length) { return; } - var $addDisplayDropdown = $('<li class="add"><a href="#"><span class="icon add"></span>' + Drupal.t('Add') + '</a><ul class="action-list" style="display:none;"></ul></li>'); + var $addDisplayDropdown = $("<li class=\"add\"><a href=\"#\"><span class=\"icon add\"></span>".concat(Drupal.t('Add'), "</a><ul class=\"action-list\" style=\"display:none;\"></ul></li>")); var $displayButtons = $menu.nextAll('input.add-display').detach(); $displayButtons.appendTo($addDisplayDropdown.find('.action-list')).wrap('<li>').parent().eq(0).addClass('first').end().eq(-1).addClass('last'); - $displayButtons.each(function () { var label = $(this).val(); + if (label.substr(0, 4) === 'Add ') { $(this).val(label.substr(4)); } }); $addDisplayDropdown.appendTo($menu); - $menu.find('li.add > a').on('click', function (event) { event.preventDefault(); var $trigger = $(this); Drupal.behaviors.viewsUiRenderAddViewButton.toggleMenu($trigger); }); - $('li.add', $menu).on('mouseleave', function (event) { var $this = $(this); var $trigger = $this.children('a[href="#"]'); + if ($this.children('.action-list').is(':visible')) { Drupal.behaviors.viewsUiRenderAddViewButton.toggleMenu($trigger); } @@ -221,21 +214,16 @@ Drupal.viewsUi.OptionsSearch = function ($form) { this.$form = $form; - this.$form.on('click', 'td.title', function (event) { var $target = $(event.currentTarget); $target.closest('tr').find('input').trigger('click'); }); - var searchBoxSelector = '[data-drupal-selector="edit-override-controls-options-search"]'; var controlGroupSelector = '[data-drupal-selector="edit-override-controls-group"]'; - this.$form.on('formUpdated', searchBoxSelector + ',' + controlGroupSelector, $.proxy(this.handleFilter, this)); - + this.$form.on('formUpdated', "".concat(searchBoxSelector, ",").concat(controlGroupSelector), $.proxy(this.handleFilter, this)); this.$searchBox = this.$form.find(searchBoxSelector); this.$controlGroup = this.$form.find(controlGroupSelector); - this.options = this.getOptions(this.$form.find('.filterable-option')); - this.$searchBox.on('keypress', function (event) { if (event.which === 13) { event.preventDefault(); @@ -245,29 +233,28 @@ $.extend(Drupal.viewsUi.OptionsSearch.prototype, { getOptions: function getOptions($allOptions) { - var $title = void 0; - var $description = void 0; - var $option = void 0; + var $title; + var $description; + var $option; var options = []; var length = $allOptions.length; + for (var i = 0; i < length; i++) { $option = $($allOptions[i]); $title = $option.find('.title'); $description = $option.find('.description'); options[i] = { - searchText: $title.text().toLowerCase() + ' ' + $description.text().toLowerCase(), - + searchText: "".concat($title.text().toLowerCase(), " ").concat($description.text().toLowerCase()), $div: $option }; } + return options; }, handleFilter: function handleFilter(event) { var search = this.$searchBox.val().toLowerCase(); var words = search.split(' '); - var group = this.$controlGroup.val(); - this.options.forEach(function (option) { function hasWord(word) { return option.searchText.indexOf(word) !== -1; @@ -278,25 +265,26 @@ if (search) { found = words.every(hasWord); } + if (found && group !== 'all') { found = option.$div.hasClass(group); } option.$div.toggle(found); }); - $(event.target).trigger('dialogContentResize'); } }); - Drupal.behaviors.viewsUiPreview = { attach: function attach(context) { var $contextualFiltersBucket = $(context).find('.views-display-column .views-ui-display-tab-bucket.argument'); + if ($contextualFiltersBucket.length === 0) { return; } var $contextualFilters = $contextualFiltersBucket.find('.views-display-setting a'); + if ($contextualFilters.length) { $('#preview-args').parent().show(); } else { @@ -308,15 +296,16 @@ } } }; - Drupal.behaviors.viewsUiRearrangeFilter = { attach: function attach(context) { if (typeof Drupal.tableDrag === 'undefined' || typeof Drupal.tableDrag['views-rearrange-filters'] === 'undefined') { return; } + var $context = $(context); var $table = $context.find('#views-rearrange-filters').once('views-rearrange-filters'); var $operator = $context.find('.js-form-item-filter-groups-operator').once('views-rearrange-filters'); + if ($table.length) { new Drupal.viewsUi.RearrangeFilterHandler($table, $operator); } @@ -325,17 +314,11 @@ Drupal.viewsUi.RearrangeFilterHandler = function ($table, $operator) { this.table = $table; - this.operator = $operator; - this.hasGroupOperator = this.operator.length > 0; - this.draggableRows = $table.find('.draggable'); - this.addGroupButton = $('input#views-add-group'); - this.removeGroupButtons = $table.find('input.views-remove-group'); - this.insertAddRemoveFilterGroupLinks(); if (this.hasGroupOperator) { @@ -344,23 +327,23 @@ } this.modifyTableDrag(); - this.redrawOperatorLabels(); $table.find('.views-group-title select').once('views-rearrange-filter-handler').on('change.views-rearrange-filter-handler', $.proxy(this, 'redrawOperatorLabels')); - $table.find('a.views-groups-remove-link').once('views-rearrange-filter-handler').on('click.views-rearrange-filter-handler', $.proxy(this, 'updateRowspans')).on('click.views-rearrange-filter-handler', $.proxy(this, 'redrawOperatorLabels')); }; $.extend(Drupal.viewsUi.RearrangeFilterHandler.prototype, { insertAddRemoveFilterGroupLinks: function insertAddRemoveFilterGroupLinks() { - $('<ul class="action-links"><li><a id="views-add-group-link" href="#">' + this.addGroupButton.val() + '</a></li></ul>').prependTo(this.table.parent()).once('views-rearrange-filter-handler').find('#views-add-group-link').on('click.views-rearrange-filter-handler', $.proxy(this, 'clickAddGroupButton')); - + $("<ul class=\"action-links\"><li><a id=\"views-add-group-link\" href=\"#\">".concat(this.addGroupButton.val(), "</a></li></ul>")).prependTo(this.table.parent()).once('views-rearrange-filter-handler').find('#views-add-group-link').on('click.views-rearrange-filter-handler', $.proxy(this, 'clickAddGroupButton')); var length = this.removeGroupButtons.length; - var i = void 0; + var i; + for (i = 0; i < length; i++) { var $removeGroupButton = $(this.removeGroupButtons[i]); var buttonId = $removeGroupButton.attr('id'); - $('<a href="#" class="views-remove-group-link">' + Drupal.t('Remove group') + '</a>').insertBefore($removeGroupButton).once('views-rearrange-filter-handler').on('click.views-rearrange-filter-handler', { buttonId: buttonId }, $.proxy(this, 'clickRemoveGroupButton')); + $("<a href=\"#\" class=\"views-remove-group-link\">".concat(Drupal.t('Remove group'), "</a>")).insertBefore($removeGroupButton).once('views-rearrange-filter-handler').on('click.views-rearrange-filter-handler', { + buttonId: buttonId + }, $.proxy(this, 'clickRemoveGroupButton')); } }, clickAddGroupButton: function clickAddGroupButton(event) { @@ -368,13 +351,12 @@ event.preventDefault(); }, clickRemoveGroupButton: function clickRemoveGroupButton(event) { - this.table.find('#' + event.data.buttonId).trigger('mousedown'); + this.table.find("#".concat(event.data.buttonId)).trigger('mousedown'); event.preventDefault(); }, duplicateGroupsOperator: function duplicateGroupsOperator() { - var newRow = void 0; - var titleRow = void 0; - + var newRow; + var titleRow; var titleRows = $('tr.views-group-title').once('duplicateGroupsOperator'); if (!titleRows.length) { @@ -383,9 +365,7 @@ this.operator.find('label').add('div.description').addClass('visually-hidden'); this.operator.find('select').addClass('form-select'); - var dropdowns = this.operator; - titleRow = $('tr#views-group-title-2'); newRow = $('<tr class="filter-group-operator-row"><td colspan="5"></td></tr>'); newRow.find('td').append(this.operator); @@ -394,7 +374,6 @@ for (var i = 2; i < length; i++) { titleRow = $(titleRows[i]); - var fakeOperator = this.operator.clone(); fakeOperator.attr('id', ''); newRow = $('<tr class="filter-group-operator-row"><td colspan="5"></td></tr>'); @@ -415,7 +394,6 @@ operatorChangeHandler: function operatorChangeHandler(event) { var $target = $(event.target); var operators = this.dropdowns.find('select').not($target); - operators.val($target.val()); }, modifyTableDrag: function modifyTableDrag() { @@ -426,12 +404,15 @@ if (filterHandler.hasGroupOperator) { var thisRow = $(this.group); var previousRow = thisRow.prev('tr'); + if (previousRow.length && !previousRow.hasClass('group-message') && !previousRow.hasClass('draggable')) { var next = thisRow.next(); + if (next.is('tr')) { this.swap('after', next); } } + filterHandler.updateRowspans(); } @@ -440,8 +421,10 @@ tableDrag.onDrop = function () { var changeMarker = $(this.oldRowElement).find('.tabledrag-changed'); + if (changeMarker.length) { var operatorLabel = changeMarker.prevAll('.views-operator-label'); + if (operatorLabel.length) { operatorLabel.insertAfter(changeMarker); } @@ -450,9 +433,10 @@ var groupRow = $(this.rowObject.element).prevAll('tr.group-message').get(0); var groupName = groupRow.className.replace(/([^ ]+[ ]+)*group-([^ ]+)-message([ ]+[^ ]+)*/, '$2'); var groupField = $('select.views-group-select', this.rowObject.element); - if (!groupField.is('.views-group-select-' + groupName)) { + + if (!groupField.is(".views-group-select-".concat(groupName))) { var oldGroupName = groupField.attr('class').replace(/([^ ]+[ ]+)*views-group-select-([^ ]+)([ ]+[^ ]+)*/, '$2'); - groupField.removeClass('views-group-select-' + oldGroupName).addClass('views-group-select-' + groupName); + groupField.removeClass("views-group-select-".concat(oldGroupName)).addClass("views-group-select-".concat(groupName)); groupField.val(groupName); } }; @@ -461,12 +445,13 @@ for (var i = 0; i < this.draggableRows.length; i++) { var $draggableRow = $(this.draggableRows[i]); var $firstCell = $draggableRow.find('td').eq(0); + if ($firstCell.length) { var operatorValue = $draggableRow.prevAll('.views-group-title').find('option:selected').html(); - var operatorLabel = '<span class="views-operator-label">' + operatorValue + '</span>'; - + var operatorLabel = "<span class=\"views-operator-label\">".concat(operatorValue, "</span>"); var $nextRow = $draggableRow.nextAll(':visible').eq(0); var $existingOperatorLabel = $firstCell.find('.views-operator-label'); + if ($nextRow.hasClass('draggable')) { if ($existingOperatorLabel.length) { $existingOperatorLabel.replaceWith(operatorLabel); @@ -480,36 +465,33 @@ } }, updateRowspans: function updateRowspans() { - var $row = void 0; - var $currentEmptyRow = void 0; - var draggableCount = void 0; - var $operatorCell = void 0; + var $row; + var $currentEmptyRow; + var draggableCount; + var $operatorCell; var rows = $(this.table).find('tr'); var length = rows.length; + for (var i = 0; i < length; i++) { $row = $(rows[i]); + if ($row.hasClass('views-group-title')) { $operatorCell = $row.find('td.group-operator'); - draggableCount = 0; $currentEmptyRow = $row.next('tr'); $currentEmptyRow.removeClass('group-populated').addClass('group-empty'); - $operatorCell.attr('rowspan', 2); } else if ($row.hasClass('draggable') && $row.is(':visible')) { draggableCount++; $currentEmptyRow.removeClass('group-empty').addClass('group-populated'); - $operatorCell.attr('rowspan', draggableCount + 1); } } } }); - Drupal.behaviors.viewsFilterConfigSelectAll = { attach: function attach(context) { var $context = $(context); - var $selectAll = $context.find('.js-form-item-options-value-all').once('filterConfigSelectAll'); var $selectAllCheckbox = $selectAll.find('input[type=checkbox]'); var $checkboxes = $selectAll.closest('.form-checkboxes').find('.js-form-type-checkbox:not(.js-form-item-options-value-all) input[type="checkbox"]'); @@ -519,7 +501,6 @@ $selectAllCheckbox.on('click', function () { $checkboxes.prop('checked', $(this).is(':checked')); }); - $checkboxes.on('click', function () { if ($(this).is('checked') === false) { $selectAllCheckbox.prop('checked', false); @@ -528,24 +509,22 @@ } } }; - Drupal.behaviors.viewsRemoveIconClass = { attach: function attach(context) { $(context).find('.dropbutton').once('dropbutton-icon').find('.icon').removeClass('icon'); } }; - Drupal.behaviors.viewsUiCheckboxify = { attach: function attach(context, settings) { var $buttons = $('[data-drupal-selector="edit-options-expose-button-button"], [data-drupal-selector="edit-options-group-button-button"]').once('views-ui-checkboxify'); var length = $buttons.length; - var i = void 0; + var i; + for (i = 0; i < length; i++) { new Drupal.viewsUi.Checkboxifier($buttons[i]); } } }; - Drupal.behaviors.viewsUiChangeDefaultWidget = { attach: function attach(context) { var $context = $(context); @@ -570,10 +549,8 @@ this.$button = $(button); this.$parent = this.$button.parent('div.views-expose, div.views-grouped'); this.$input = this.$parent.find('input:checkbox, input:radio'); - this.$button.hide(); this.$parent.find('.exposed-description, .grouped-description').hide(); - this.$input.on('click', $.proxy(this, 'clickHandler')); }; @@ -587,14 +564,13 @@ var $context = $(context); var $submit = $context.find('[id^=edit-submit]'); var oldValue = $submit.val(); - $submit.once('views-ui-override-button-text').on('mouseup', function () { $(this).val(oldValue); return true; }); - $(this).on('change', function () { var $this = $(this); + if ($this.val() === 'default') { $submit.val(Drupal.t('Apply (all displays)')); } else if ($this.val() === 'default_revert') { @@ -602,28 +578,26 @@ } else { $submit.val(Drupal.t('Apply (this display)')); } + var $dialog = $context.closest('.ui-dialog-content'); $dialog.trigger('dialogButtonsChange'); }).trigger('change'); }); } }; - Drupal.behaviors.viewsUiHandlerRemoveLink = { attach: function attach(context) { var $context = $(context); - $context.find('a.views-remove-link').once('views').on('click', function (event) { var id = $(this).attr('id').replace('views-remove-link-', ''); - $context.find('#views-row-' + id).hide(); - $context.find('#views-removed-' + id).prop('checked', true); + $context.find("#views-row-".concat(id)).hide(); + $context.find("#views-removed-".concat(id)).prop('checked', true); event.preventDefault(); }); - $context.find('a.display-remove-link').once('display').on('click', function (event) { var id = $(this).attr('id').replace('display-remove-link-', ''); - $context.find('#display-row-' + id).hide(); - $context.find('#display-removed-' + id).prop('checked', true); + $context.find("#display-row-".concat(id)).hide(); + $context.find("#display-removed-".concat(id)).prop('checked', true); event.preventDefault(); }); } diff --git a/core/modules/views_ui/js/views_ui.listing.js b/core/modules/views_ui/js/views_ui.listing.js index 4da040580ea4028667b12ad68c1a7e92328dfeed..06369cc96257c6dcc42390501b955c340cd1d35a 100644 --- a/core/modules/views_ui/js/views_ui.listing.js +++ b/core/modules/views_ui/js/views_ui.listing.js @@ -10,7 +10,7 @@ attach: function attach(context, settings) { var $input = $('input.views-filter-text').once('views-filter-text'); var $table = $($input.attr('data-table')); - var $rows = void 0; + var $rows; function filterViewList(e) { var query = $(e.target).val().toLowerCase(); diff --git a/core/package.json b/core/package.json index b3c437cf0e878269a5901ad76725a5296da1ec2b..7b364e7683af7e562add1fdc9f6e359f22604af0 100644 --- a/core/package.json +++ b/core/package.json @@ -22,26 +22,28 @@ "lint:core-js-stats": "node ./node_modules/eslint/bin/eslint.js --format=./scripts/js/eslint-stats-by-type.js .", "lint:css": "stylelint \"**/*.css\"", "lint:css-checkstyle": "stylelint \"**/*.css\" --custom-formatter ./node_modules/stylelint-checkstyle-formatter/index.js", - "test:nightwatch": "cross-env BABEL_ENV=development node -r dotenv-safe/config -r babel-register ./node_modules/.bin/nightwatch --config ./tests/Drupal/Nightwatch/nightwatch.conf.js", + "test:nightwatch": "cross-env BABEL_ENV=development node -r dotenv-safe/config -r @babel/register ./node_modules/.bin/nightwatch --config ./tests/Drupal/Nightwatch/nightwatch.conf.js", "prettier": "prettier --write \"./**/*.es6.js\" \"./tests/Drupal/Nightwatch/**/*.js\"" }, "devDependencies": { + "@babel/core": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/register": "^7.7.7", "autoprefixer": "^9.6.1", - "babel-core": "^6.26.0", "babel-plugin-add-header-comment": "^1.0.3", - "babel-preset-env": "^1.4.0", - "chalk": "^2.3.0", - "chokidar": "^2.0.0", - "chromedriver": "^75.1.0", - "cross-env": "^5.1.3", - "dotenv-safe": "^5.0.1", - "eslint": "^4.19.1", - "eslint-config-airbnb": "^17.0.0", - "eslint-config-prettier": "^2.9.0", + "chalk": "^3.0.0", + "chokidar": "^3.3.1", + "chromedriver": "^79.0.0", + "cross-env": "^6.0.3", + "dotenv-safe": "^8.2.0", + "eslint": "^6.7.2", + "eslint-config-airbnb": "^18.0.1", + "eslint-config-prettier": "^6.7.0", "eslint-plugin-import": "^2.13.0", "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-prettier": "^2.6.2", + "eslint-plugin-prettier": "^3.1.2", "eslint-plugin-react": "^7.10.0", + "eslint-plugin-react-hooks": "^1.7.0", "glob": "^7.1.2", "minimist": "^1.2.0", "mkdirp": "^0.5.1", @@ -52,12 +54,12 @@ "postcss-header": "^1.0.0", "postcss-import": "^12.0.1", "prettier": "^1.14.0", - "stylelint": "^9.10.1", + "stylelint": "^12.0.0", "stylelint-checkstyle-formatter": "^0.1.1", - "stylelint-config-standard": "^18.2.0", + "stylelint-config-standard": "^19.0.0", "stylelint-no-browser-hacks": "^1.2.1", - "stylelint-order": "^2.1.0", - "terser": "^4.3.9" + "stylelint-order": "^4.0.0", + "terser": "^4.4.3" }, "//": "'development is the default environment, and legacy is for transpiling the old jQuery codebase", "babel": { @@ -65,7 +67,7 @@ "development": { "presets": [ [ - "env", + "@babel/preset-env", { "modules": "commonjs", "targets": { @@ -78,7 +80,7 @@ "legacy": { "presets": [ [ - "env", + "@babel/preset-env", { "modules": false } diff --git a/core/profiles/demo_umami/themes/umami/js/classy/media_embed_ckeditor.theme.js b/core/profiles/demo_umami/themes/umami/js/classy/media_embed_ckeditor.theme.js index 6614288cb4e4e4d15eec8e5e3224497c083962e4..0b9d95999e8e2bd85013524aa5443c9832cf7c4c 100644 --- a/core/profiles/demo_umami/themes/umami/js/classy/media_embed_ckeditor.theme.js +++ b/core/profiles/demo_umami/themes/umami/js/classy/media_embed_ckeditor.theme.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.mediaEmbedPreviewError = function () { - return '<div class="media-embed-error media-embed-error--preview-error">' + Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.') + '</div>'; + return "<div class=\"media-embed-error media-embed-error--preview-error\">".concat(Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.'), "</div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/scripts/css/compile.js b/core/scripts/css/compile.js index 0fe45e8bb706abe8df5f86bfb7d7149d2740576d..650d1887e8a8bd6fb581d23918c0679a7e082ad9 100644 --- a/core/scripts/css/compile.js +++ b/core/scripts/css/compile.js @@ -6,7 +6,9 @@ const postcssCustomProperties = require('postcss-custom-properties'); const postcssCalc = require("postcss-calc"); const postcssImport = require('postcss-import'); const autoprefixer = require('autoprefixer'); -const postcssHeader = require('postcss-header'); +// @todo Load this from the package index after +// https://github.com/fengyuanchen/postcss-header/pull/1 has been resolved. +const postcssHeader = require('postcss-header/lib/index'); module.exports = (filePath, callback) => { // Transform the file. diff --git a/core/scripts/js/compile.js b/core/scripts/js/compile.js index b1a347777c65304b5ca1fbc189ebfccf46a0acb1..d644f55cbd4ed6dfa7d65e0a7d1e48e005eaf07f 100644 --- a/core/scripts/js/compile.js +++ b/core/scripts/js/compile.js @@ -1,6 +1,6 @@ const chalk = require('chalk'); const log = require('./log'); -const babel = require('babel-core'); +const babel = require('@babel/core'); module.exports = (filePath, callback) => { // Transform the file. diff --git a/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php b/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php index 74ce8db2f5e1fff2eb51b872f2feb232a26b0b0b..36f022fc09aea7fb0d978dcdd47899f26233ce47 100644 --- a/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php +++ b/core/tests/Drupal/KernelTests/Core/Theme/ConfirmClassyCopiesTest.php @@ -140,7 +140,7 @@ public function providerTestClassyCopies() { ], 'js' => [ 'media_embed_ckeditor.theme.es6.js' => 'decf95c314bf22c642fb630179502e43', - 'media_embed_ckeditor.theme.js' => '1b17d61e258c4fdaa129acecf773f04e', + 'media_embed_ckeditor.theme.js' => 'f8e192b79f25d2b61a6ff43b9733ec72', ], 'images' => [ 'x-office-spreadsheet.png' => 'fc5d4b32f259ea6d0f960b17a0886f63', @@ -188,7 +188,7 @@ public function providerTestClassyCopies() { ], 'js' => [ 'media_embed_ckeditor.theme.es6.js' => 'decf95c314bf22c642fb630179502e43', - 'media_embed_ckeditor.theme.js' => '1b17d61e258c4fdaa129acecf773f04e', + 'media_embed_ckeditor.theme.js' => 'f8e192b79f25d2b61a6ff43b9733ec72', ], 'images' => [ 'x-office-spreadsheet.png' => 'fc5d4b32f259ea6d0f960b17a0886f63', @@ -251,7 +251,7 @@ public function providerTestClassyCopies() { ], 'js' => [ 'media_embed_ckeditor.theme.es6.js' => 'decf95c314bf22c642fb630179502e43', - 'media_embed_ckeditor.theme.js' => '1b17d61e258c4fdaa129acecf773f04e', + 'media_embed_ckeditor.theme.js' => 'f8e192b79f25d2b61a6ff43b9733ec72', ], 'images' => [ 'x-office-spreadsheet.png' => 'fc5d4b32f259ea6d0f960b17a0886f63', diff --git a/core/themes/bartik/color/preview.js b/core/themes/bartik/color/preview.js index 9ffddc85a92a01a53fe30dffe18f0835e006f955..daf0d9e474b7d28babdb2e09e67692bac76dc915 100644 --- a/core/themes/bartik/color/preview.js +++ b/core/themes/bartik/color/preview.js @@ -20,23 +20,16 @@ var $colorPreview = $form.find('.color-preview'); var $colorPalette = $form.find('.js-color-palette'); - $colorPreview.css('backgroundColor', $colorPalette.find('input[name="palette[bg]"]').val()); - $colorPreview.find('.color-preview-main h2, .color-preview .preview-content').css('color', $colorPalette.find('input[name="palette[text]"]').val()); $colorPreview.find('.color-preview-content a').css('color', $colorPalette.find('input[name="palette[link]"]').val()); - var $colorPreviewBlock = $colorPreview.find('.color-preview-sidebar .color-preview-block'); $colorPreviewBlock.css('background-color', $colorPalette.find('input[name="palette[sidebar]"]').val()); $colorPreviewBlock.css('border-color', $colorPalette.find('input[name="palette[sidebarborders]"]').val()); - $colorPreview.find('.color-preview-footer-wrapper').css('background-color', $colorPalette.find('input[name="palette[footer]"]').val()); - var gradientStart = $colorPalette.find('input[name="palette[top]"]').val(); var gradientEnd = $colorPalette.find('input[name="palette[bottom]"]').val(); - - $colorPreview.find('.color-preview-header').attr('style', 'background-color: ' + gradientStart + '; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(' + gradientStart + '), to(' + gradientEnd + ')); background-image: -moz-linear-gradient(-90deg, ' + gradientStart + ', ' + gradientEnd + ');'); - + $colorPreview.find('.color-preview-header').attr('style', "background-color: ".concat(gradientStart, "; background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(").concat(gradientStart, "), to(").concat(gradientEnd, ")); background-image: -moz-linear-gradient(-90deg, ").concat(gradientStart, ", ").concat(gradientEnd, ");")); $colorPreview.find('.color-preview-site-name').css('color', $colorPalette.find('input[name="palette[titleslogan]"]').val()); } }; diff --git a/core/themes/claro/js/ajax.js b/core/themes/claro/js/ajax.js index 485d592da1712da42371d6dee4225cea4d0548d1..c6c9054bdf584c011276e70aa327e9c3e795020d 100644 --- a/core/themes/claro/js/ajax.js +++ b/core/themes/claro/js/ajax.js @@ -13,11 +13,10 @@ Drupal.theme.ajaxProgressThrobber = function (message) { var messageMarkup = typeof message === 'string' ? Drupal.theme('ajaxProgressMessage', message) : ''; var throbber = '<div class="ajax-progress__throbber"> </div>'; - - return '<div class="ajax-progress ajax-progress--throbber">' + throbber + messageMarkup + '</div>'; + return "<div class=\"ajax-progress ajax-progress--throbber\">".concat(throbber).concat(messageMarkup, "</div>"); }; Drupal.theme.ajaxProgressMessage = function (message) { - return '<div class="ajax-progress__message">' + message + '</div>'; + return "<div class=\"ajax-progress__message\">".concat(message, "</div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/themes/claro/js/autocomplete.js b/core/themes/claro/js/autocomplete.js index 781b5486e2950ab542711283678363f439e1b156..a1d042f36d2affa0f76b5fda928397c937ad27c5 100644 --- a/core/themes/claro/js/autocomplete.js +++ b/core/themes/claro/js/autocomplete.js @@ -11,7 +11,8 @@ $(context).find('input.form-autocomplete').once('claroAutoComplete').each(function (index, value) { var $input = $(value); var timeout = 400; - var classRemoveTimeout = void 0; + var classRemoveTimeout; + var classRemove = function classRemove($autoCompleteElem) { $autoCompleteElem.removeClass('is-autocompleting'); }; @@ -20,6 +21,7 @@ if (event && event.type && event.type === 'autocompletesearch') { $(event.target).addClass('is-autocompleting'); } + clearTimeout(classRemoveTimeout); classRemoveTimeout = setTimeout(classRemove, timeout, $(event.target)); }); diff --git a/core/themes/claro/js/classy/media_embed_ckeditor.theme.js b/core/themes/claro/js/classy/media_embed_ckeditor.theme.js index 6614288cb4e4e4d15eec8e5e3224497c083962e4..0b9d95999e8e2bd85013524aa5443c9832cf7c4c 100644 --- a/core/themes/claro/js/classy/media_embed_ckeditor.theme.js +++ b/core/themes/claro/js/classy/media_embed_ckeditor.theme.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.mediaEmbedPreviewError = function () { - return '<div class="media-embed-error media-embed-error--preview-error">' + Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.') + '</div>'; + return "<div class=\"media-embed-error media-embed-error--preview-error\">".concat(Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.'), "</div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/themes/claro/js/details.js b/core/themes/claro/js/details.js index a682430fe4208b5089941cb6f8ee6d8762cc7e52..24630f200a9d0074c941a13a5059f0e4d0e226c3 100644 --- a/core/themes/claro/js/details.js +++ b/core/themes/claro/js/details.js @@ -15,7 +15,6 @@ }); } }; - Drupal.behaviors.claroDetailsToggleShim = { attach: function attach(context) { if (Modernizr.details || !Drupal.CollapsibleDetails.instances.length) { @@ -24,6 +23,7 @@ $(context).find('details .details-title').once('claroDetailsToggleShim').on('keypress', function (event) { var keyCode = event.keyCode || event.charCode; + if (keyCode === 32) { $(event.target).closest('summary').trigger('click'); event.preventDefault(); diff --git a/core/themes/claro/js/dropbutton.js b/core/themes/claro/js/dropbutton.js index e572550bcfa1983ac153877020f55dcf0ca45543..39bb562b704c93d82c03bd596807712c23f0b9b9 100644 --- a/core/themes/claro/js/dropbutton.js +++ b/core/themes/claro/js/dropbutton.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.dropbuttonToggle = function (options) { - return "<li class=\"dropbutton-toggle\"><button type=\"button\" class=\"dropbutton__toggle\"><span class=\"visually-hidden\">" + options.title + "</span></button></li>"; + return "<li class=\"dropbutton-toggle\"><button type=\"button\" class=\"dropbutton__toggle\"><span class=\"visually-hidden\">".concat(options.title, "</span></button></li>"); }; })(Drupal); \ No newline at end of file diff --git a/core/themes/claro/js/messages.js b/core/themes/claro/js/messages.js index 70fca31a5732451dd674708d88db3c77ee4c57fc..10eb94445d389c776848cd3badfadea997765031 100644 --- a/core/themes/claro/js/messages.js +++ b/core/themes/claro/js/messages.js @@ -10,18 +10,14 @@ var text = _ref.text; var type = _ref2.type, id = _ref2.id; - var messagesTypes = Drupal.Message.getMessageTypeLabels(); var messageWrapper = document.createElement('div'); - - messageWrapper.setAttribute('class', 'messages messages--' + type); + messageWrapper.setAttribute('class', "messages messages--".concat(type)); messageWrapper.setAttribute('role', type === 'error' || type === 'warning' ? 'alert' : 'status'); - messageWrapper.setAttribute('aria-labelledby', id + '-title'); + messageWrapper.setAttribute('aria-labelledby', "".concat(id, "-title")); messageWrapper.setAttribute('data-drupal-message-id', id); messageWrapper.setAttribute('data-drupal-message-type', type); - - messageWrapper.innerHTML = '\n <div class="messages__header">\n <h2 id="' + id + '-title" class="messages__title">\n ' + messagesTypes[type] + '\n </h2>\n </div>\n <div class="messages__content">\n ' + text + '\n </div>\n '; - + messageWrapper.innerHTML = "\n <div class=\"messages__header\">\n <h2 id=\"".concat(id, "-title\" class=\"messages__title\">\n ").concat(messagesTypes[type], "\n </h2>\n </div>\n <div class=\"messages__content\">\n ").concat(text, "\n </div>\n "); return messageWrapper; }; })(Drupal); \ No newline at end of file diff --git a/core/themes/claro/js/mobile.install.js b/core/themes/claro/js/mobile.install.js index 57c2823fca6d4bae4b6d60c77cca9ba23fef6b9b..095fd11775483ca5353500f5aefa00289ef09a2c 100644 --- a/core/themes/claro/js/mobile.install.js +++ b/core/themes/claro/js/mobile.install.js @@ -16,16 +16,18 @@ if (steps[steps.length - 1].className === 'done') { return steps.length; } + return 0; } function installStepsSetup() { var steps = document.querySelectorAll('.task-list li'); + if (steps.length) { var header = document.querySelector('header[role="banner"]'); var stepIndicator = document.createElement('div'); stepIndicator.className = 'step-indicator'; - stepIndicator.innerHTML = findActiveStep(steps) + '/' + steps.length; + stepIndicator.innerHTML = "".concat(findActiveStep(steps), "/").concat(steps.length); header.appendChild(stepIndicator); } } diff --git a/core/themes/claro/js/nav-tabs.js b/core/themes/claro/js/nav-tabs.js index 75445a53c724e1de1db56adedbab9b50733f2bee..232e53449f80f49ad0c0568e4739cdcf957a8123 100644 --- a/core/themes/claro/js/nav-tabs.js +++ b/core/themes/claro/js/nav-tabs.js @@ -25,9 +25,8 @@ var siblings = { first: '[data-original-order="0"]', - previous: '[data-original-order="' + (original - 1) + '"]' + previous: "[data-original-order=\"".concat(original - 1, "\"]") }; - var $first = $target.find(siblings.first); var $previous = $target.find(siblings.previous); @@ -42,7 +41,6 @@ if (window.matchMedia('(min-width: 48em)').matches) { if ($tab.hasClass('is-horizontal') && !$tab.attr('data-width')) { var width = 0; - $target.find('.js-tabs-link').each(function (index, value) { width += $(value).outerWidth(); }); @@ -58,12 +56,10 @@ }; $tab.addClass('position-container is-horizontal-enabled'); - $target.find('.js-tab').each(function (index, element) { var $item = $(element); $item.attr('data-original-order', $item.index()); }); - $tab.on('click.tabs', '[data-drupal-nav-tabs-trigger]', openMenu); $(window).on('resize.tabs', Drupal.debounce(toggleCollapsed, 150)).trigger('resize.tabs'); } diff --git a/core/themes/claro/js/responsive-details.js b/core/themes/claro/js/responsive-details.js index 3c62e3cef6af47dfb1d0190b9aa1af256d99fe86..2e65d2eb1cd0a62db394515e73ebc66399c1dd45 100644 --- a/core/themes/claro/js/responsive-details.js +++ b/core/themes/claro/js/responsive-details.js @@ -24,7 +24,6 @@ } else { var $notPressed = $details.find('> summary[aria-pressed!=true]').attr('aria-expanded', false); $notPressed.parent('details').attr('open', false); - $summaries.off('.details-open'); } } diff --git a/core/themes/claro/js/tabledrag.es6.js b/core/themes/claro/js/tabledrag.es6.js index 9d7e0e16aa0899ddf4882a16ae383590bf9009a8..1f7c83a2c6ef093d7ca5606bbe643808ec3cf92f 100644 --- a/core/themes/claro/js/tabledrag.es6.js +++ b/core/themes/claro/js/tabledrag.es6.js @@ -443,7 +443,7 @@ $tables.find('.js-tabledrag-handle').css('display', ''); // Reduce the colspan of any effected multi-span columns. $tables.find('.tabledrag-has-colspan').each(function decreaseColspan() { - this.colSpan = this.colSpan - 1; + this.colSpan -= -1; }); // Change link text. $('.js-tabledrag-toggle-weight-wrapper').each( @@ -483,7 +483,7 @@ $tables.find('.js-tabledrag-handle').css('display', 'none'); // Increase the colspan for any columns where it was previously reduced. $tables.find('.tabledrag-has-colspan').each(function increaseColspan() { - this.colSpan = this.colSpan + 1; + this.colSpan += 1; }); // Change link text. $('.js-tabledrag-toggle-weight-wrapper').each( diff --git a/core/themes/claro/js/tabledrag.js b/core/themes/claro/js/tabledrag.js index baf22ba6e7bcc1520482072aa8b5fc8fc2e847ca..70e6ef1b2621734a00eb800ce1446a2f4dd131d9 100644 --- a/core/themes/claro/js/tabledrag.js +++ b/core/themes/claro/js/tabledrag.js @@ -4,11 +4,11 @@ * https://www.drupal.org/node/2815083 * @preserve **/ -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } (function ($, Drupal, drupalSettings) { var showWeight = JSON.parse(localStorage.getItem('Drupal.tableDrag.showWeight')); - Drupal.behaviors.tableDrag = { attach: function attach(context, settings) { function initTableDrag(table, base) { @@ -18,7 +18,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } Object.keys(settings.tableDrag || {}).forEach(function (base) { - initTableDrag($(context).find('#' + base).once('tabledrag'), base); + initTableDrag($(context).find("#".concat(base)).once('tabledrag'), base); }); } }; @@ -28,56 +28,44 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var self = this; var $table = $(table); - this.$table = $(table); - this.table = table; - this.tableSettings = tableSettings; - this.dragObject = null; - this.rowObject = null; - this.oldRowElement = null; - this.oldY = null; - this.changed = false; - this.maxDepth = 0; - this.rtl = $(this.table).css('direction') === 'rtl' ? -1 : 1; - this.striping = $(this.table).data('striping') === 1; - - this.scrollSettings = { amount: 4, interval: 50, trigger: 70 }; - + this.scrollSettings = { + amount: 4, + interval: 50, + trigger: 70 + }; this.scrollInterval = null; - this.scrollY = 0; - this.windowHeight = 0; - this.indentEnabled = false; Object.keys(tableSettings || {}).forEach(function (group) { Object.keys(tableSettings[group] || {}).forEach(function (n) { if (tableSettings[group][n].relationship === 'parent') { _this.indentEnabled = true; } + if (tableSettings[group][n].limit > 0) { _this.maxDepth = tableSettings[group][n].limit; } }); }); + if (this.indentEnabled) { this.indentCount = 1; - var indent = Drupal.theme('tableDragIndentation'); var testRow = $('<tr/>').addClass('draggable').appendTo(table); var testCell = $('<td/>').appendTo(testRow).prepend(indent).prepend(indent); var $indentation = testCell.find('.js-indentation'); - this.indentAmount = $indentation.get(1).offsetLeft - $indentation.get(0).offsetLeft; testRow.remove(); } @@ -85,14 +73,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $table.find('> tr.draggable, > tbody > tr.draggable').each(function initDraggable() { self.makeDraggable(this); }); - $table.before($(Drupal.theme('tableDragToggleWrapper')).addClass('js-tabledrag-toggle-weight-wrapper').on('click', '.js-tabledrag-toggle-weight', $.proxy(function toggleColumns(event) { event.preventDefault(); this.toggleColumns(); }, this))); - self.initColumns(); - $(document).on('touchmove', function (event) { return self.dragRow(event.originalEvent.touches[0], self); }); @@ -105,7 +90,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $(document).on('mouseup pointerup', function (event) { return self.dropRow(event, self); }); - $(window).on('storage', $.proxy(function weightColumnDisplayChange(event) { if (event.originalEvent.key === 'Drupal.tableDrag.showWeight') { showWeight = JSON.parse(event.originalEvent.newValue); @@ -119,18 +103,19 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var _this2 = this; var $table = this.$table; - - var hidden = void 0; - var cell = void 0; - var columnIndex = void 0; + var hidden; + var cell; + var columnIndex; Object.keys(this.tableSettings || {}).forEach(function (group) { Object.keys(_this2.tableSettings[group]).some(function (tableSetting) { - var field = $table.find('.' + _this2.tableSettings[group][tableSetting].target).eq(0); + var field = $table.find(".".concat(_this2.tableSettings[group][tableSetting].target)).eq(0); + if (field.length && _this2.tableSettings[group][tableSetting].hidden) { hidden = _this2.tableSettings[group][tableSetting].hidden; cell = field.closest('td'); return true; } + return false; }); @@ -146,14 +131,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var $row = $(this); var index = columnIndex; var cells = $row.children(); - var cell = void 0; + var cell; cells.each(function checkColspan(n) { if (n < index && this.colSpan && this.colSpan > 1) { index -= this.colSpan - 1; } }); + if (index > 0) { - cell = cells.filter(':nth-child(' + index + ')'); + cell = cells.filter(":nth-child(".concat(index, ")")); + if (cell[0].colSpan && cell[0].colSpan > 1) { cell.addClass('tabledrag-has-colspan'); } else { @@ -174,6 +161,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol toggleColumns: function toggleColumns() { showWeight = !showWeight; this.displayColumns(showWeight); + if (showWeight) { localStorage.setItem('Drupal.tableDrag.showWeight', showWeight); } else { @@ -182,19 +170,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, hideColumns: function hideColumns() { var $tables = $('table').findOnce('tabledrag'); - $tables.find('.tabledrag-hide').css('display', 'none'); - $tables.find('.js-tabledrag-handle').css('display', ''); - $tables.find('.tabledrag-has-colspan').each(function decreaseColspan() { - this.colSpan = this.colSpan - 1; + this.colSpan -= -1; }); - $('.js-tabledrag-toggle-weight-wrapper').each(function addShowWeightToggle() { var $wrapper = $(this); var toggleWasFocused = $wrapper.find('.js-tabledrag-toggle-weight:focus').length; $wrapper.empty().append($(Drupal.theme('tableDragToggle', 'show', Drupal.t('Show row weights'))).addClass('js-tabledrag-toggle-weight')); + if (toggleWasFocused) { $wrapper.find('.js-tabledrag-toggle-weight').trigger('focus'); } @@ -202,36 +187,35 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, showColumns: function showColumns() { var $tables = $('table').findOnce('tabledrag'); - $tables.find('.tabledrag-hide').css('display', ''); - $tables.find('.js-tabledrag-handle').css('display', 'none'); - $tables.find('.tabledrag-has-colspan').each(function increaseColspan() { - this.colSpan = this.colSpan + 1; + this.colSpan += 1; }); - $('.js-tabledrag-toggle-weight-wrapper').each(function addHideWeightToggle() { var $wrapper = $(this); var toggleWasFocused = $wrapper.find('.js-tabledrag-toggle-weight:focus').length; $wrapper.empty().append($(Drupal.theme('tableDragToggle', 'hide', Drupal.t('Hide row weights'))).addClass('js-tabledrag-toggle-weight')); + if (toggleWasFocused) { $wrapper.find('.js-tabledrag-toggle-weight').trigger('focus'); } }); }, rowSettings: function rowSettings(group, row) { - var field = $(row).find('.' + group); + var field = $(row).find(".".concat(group)); var tableSettingsGroup = this.tableSettings[group]; return Object.keys(tableSettingsGroup).map(function (delta) { var targetClass = tableSettingsGroup[delta].target; - var rowSettings = void 0; - if (field.is('.' + targetClass)) { + var rowSettings; + + if (field.is(".".concat(targetClass))) { rowSettings = {}; Object.keys(tableSettingsGroup[delta]).forEach(function (n) { rowSettings[n] = tableSettingsGroup[delta][n]; }); } + return rowSettings; }).filter(function (rowSetting) { return rowSetting; @@ -242,17 +226,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var $item = $(item); var $firstCell = $item.find('td:first-of-type').wrapInner(Drupal.theme.tableDragCellContentWrapper()).wrapInner($(Drupal.theme('tableDragCellItemsWrapper')).addClass('js-tabledrag-cell-content')); var $targetElem = $firstCell.find('.js-tabledrag-cell-content').length ? $firstCell.find('.js-tabledrag-cell-content') : $firstCell.addClass('js-tabledrag-cell-content'); - $targetElem.find('.js-indentation').detach().prependTo($targetElem); - $targetElem.find('a').addClass('menu-item__link'); - var handle = $(Drupal.theme.tableDragHandle()).addClass('js-tabledrag-handle').attr('title', Drupal.t('Drag to re-order')); - var $indentationLast = $targetElem.find('.js-indentation').eq(-1); + if ($indentationLast.length) { $indentationLast.after(handle); - self.indentCount = Math.max($item.find('.js-indentation').length, self.indentCount); } else { $targetElem.prepend(handle); @@ -268,29 +248,28 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol handle.on('mousedown touchstart pointerdown', function (event) { event.preventDefault(); + if (event.originalEvent.type === 'touchstart') { event = event.originalEvent.touches[0]; } + self.dragStart(event, self, item); }); - handle.on('focus', function () { self.safeBlur = true; }); - handle.on('blur', function (event) { if (self.rowObject && self.safeBlur) { self.dropRow(event, self); } }); - handle.on('keydown', function (event) { if (event.keyCode !== 9 && !self.rowObject) { self.rowObject = new self.row(item, 'keyboard', self.indentEnabled, self.maxDepth, true); } var keyChange = false; - var groupHeight = void 0; + var groupHeight; switch (event.keyCode) { case 37: @@ -304,10 +283,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol { var $previousRow = $(self.rowObject.element).prev('tr').eq(0); var previousRow = $previousRow.get(0); + while (previousRow && $previousRow.is(':hidden')) { $previousRow = $(previousRow).prev('tr').eq(0); previousRow = $previousRow.get(0); } + if (previousRow) { self.safeBlur = false; self.rowObject.direction = 'up'; @@ -315,14 +296,15 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if ($(item).is('.tabledrag-root')) { groupHeight = 0; + while (previousRow && $previousRow.find('.js-indentation').length) { $previousRow = $(previousRow).prev('tr').eq(0); previousRow = $previousRow.get(0); groupHeight += $previousRow.is(':hidden') ? 0 : previousRow.offsetHeight; } + if (previousRow) { self.rowObject.swap('before', previousRow); - window.scrollBy(0, -groupHeight); } } else if (self.table.tBodies[0].rows[0] !== previousRow || $previousRow.is('.draggable')) { @@ -334,6 +316,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol handle.trigger('focus'); } + break; } @@ -348,10 +331,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol { var $nextRow = $(self.rowObject.group).eq(-1).next('tr').eq(0); var nextRow = $nextRow.get(0); + while (nextRow && $nextRow.is(':hidden')) { $nextRow = $(nextRow).next('tr').eq(0); nextRow = $nextRow.get(0); } + if (nextRow) { self.safeBlur = false; self.rowObject.direction = 'down'; @@ -360,13 +345,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if ($(item).is('.tabledrag-root')) { groupHeight = 0; var nextGroup = new self.row(nextRow, 'keyboard', self.indentEnabled, self.maxDepth, false); + if (nextGroup) { $(nextGroup.group).each(function groupIterator() { groupHeight += $(this).is(':hidden') ? 0 : this.offsetHeight; }); var nextGroupRow = $(nextGroup.group).eq(-1).get(0); self.rowObject.swap('after', nextGroupRow); - window.scrollBy(0, parseInt(groupHeight, 10)); } } else { @@ -378,19 +363,24 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol handle.trigger('focus'); } + break; } } if (self.rowObject && self.rowObject.changed === true) { $(item).addClass('drag'); + if (self.oldRowElement) { $(self.oldRowElement).removeClass('drag-previous'); } + self.oldRowElement = item; + if (self.striping === true) { self.restripeTable(); } + self.onDrag(); } @@ -398,9 +388,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol return false; } }); - handle.on('keypress', function (event) { - switch (event.keyCode) { case 37: case 38: @@ -414,6 +402,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol self.dragObject = {}; self.dragObject.initOffset = self.getPointerOffset(item, event); self.dragObject.initPointerCoords = self.pointerCoords(event); + if (self.indentEnabled) { self.dragObject.indentPointerPos = self.dragObject.initPointerCoords; } @@ -423,13 +412,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } self.rowObject = new self.row(item, 'pointer', self.indentEnabled, self.maxDepth, true); - self.table.topY = $(self.table).offset().top; self.table.bottomY = self.table.topY + self.table.offsetHeight; - $(item).addClass('drag'); - $('body').addClass('drag'); + if (self.oldRowElement) { $(self.oldRowElement).removeClass('drag-previous'); } @@ -444,11 +431,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (y !== self.oldY) { self.rowObject.direction = y > self.oldY ? 'down' : 'up'; - self.oldY = y; - var scrollAmount = self.checkScroll(self.currentPointerCoords.y); - clearInterval(self.scrollInterval); if (scrollAmount > 0 && self.rowObject.direction === 'down' || scrollAmount < 0 && self.rowObject.direction === 'up') { @@ -456,12 +440,14 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } var currentRow = self.findDropTargetRow(x, y); + if (currentRow) { if (self.rowObject.direction === 'down') { self.rowObject.swap('after', currentRow, self); } else { self.rowObject.swap('before', currentRow, self); } + if (self.striping === true) { self.restripeTable(); } @@ -470,11 +456,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (self.indentEnabled) { var xDiff = self.currentPointerCoords.x - self.dragObject.indentPointerPos.x; - var indentDiff = Math.round(xDiff / self.indentAmount); - var indentChange = self.rowObject.indent(indentDiff); - self.dragObject.indentPointerPos.x += self.indentAmount * indentChange; self.indentCount = Math.max(self.indentCount, self.rowObject.indents); } @@ -483,8 +466,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } }, dropRow: function dropRow(event, self) { - var droppedRow = void 0; - var $droppedRow = void 0; + var droppedRow; + var $droppedRow; if (self.rowObject !== null) { droppedRow = self.rowObject.element; @@ -492,17 +475,17 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (self.rowObject.changed === true) { self.updateFields(droppedRow); - Object.keys(self.tableSettings || {}).forEach(function (group) { var rowSettings = self.rowSettings(group, droppedRow); + if (rowSettings.relationship === 'group') { Object.keys(self.rowObject.children || {}).forEach(function (n) { self.updateField(self.rowObject.children[n], group); }); } }); - self.rowObject.markChanged(); + if (self.changed === false) { var $messageTarget = $(self.table).prevAll('.js-tabledrag-toggle-weight-wrapper').length ? $(self.table).prevAll('.js-tabledrag-toggle-weight-wrapper').last() : self.table; $(Drupal.theme('tableDragChangedWarning')).insertBefore($messageTarget).hide().fadeIn('slow'); @@ -513,9 +496,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (self.indentEnabled) { self.rowObject.removeIndentClasses(); } + if (self.oldRowElement) { $(self.oldRowElement).removeClass('drag-previous'); } + $droppedRow.removeClass('drag').addClass('drag-previous'); self.oldRowElement = droppedRow; self.onDrop(); @@ -530,8 +515,12 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, pointerCoords: function pointerCoords(event) { if (event.pageX || event.pageY) { - return { x: event.pageX, y: event.pageY }; + return { + x: event.pageX, + y: event.pageY + }; } + return { x: event.clientX + (document.body.scrollLeft - document.body.clientLeft), y: event.clientY + (document.body.scrollTop - document.body.clientTop) @@ -540,7 +529,10 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol getPointerOffset: function getPointerOffset(target, event) { var docPos = $(target).offset(); var pointerPos = this.pointerCoords(event); - return { x: pointerPos.x - docPos.left, y: pointerPos.y - docPos.top }; + return { + x: pointerPos.x - docPos.left, + y: pointerPos.y - docPos.top + }; }, findDropTargetRow: function findDropTargetRow(x, y) { var _this3 = this; @@ -584,6 +576,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol $row = $row.prev('tr:first-of-type'); row = $row.get(0); } + return { v: row }; @@ -593,8 +586,9 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol for (var n = 0; n < rows.length; n++) { var _ret = _loop(n); - if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; + if (_typeof(_ret) === "object") return _ret.v; } + return null; }, updateFields: function updateFields(changedRow) { @@ -607,10 +601,10 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol updateField: function updateField(changedRow, group) { var rowSettings = this.rowSettings(group, changedRow); var $changedRow = $(changedRow); - var sourceRow = void 0; - var $previousRow = void 0; - var previousRow = void 0; - var useSibling = void 0; + var sourceRow; + var $previousRow; + var previousRow; + var useSibling; if (rowSettings.relationship === 'self' || rowSettings.relationship === 'group') { sourceRow = changedRow; @@ -620,7 +614,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var $nextRow = $changedRow.next('tr:first-of-type'); var nextRow = $nextRow.get(0); sourceRow = changedRow; - if ($previousRow.is('.draggable') && $previousRow.find('.' + group).length) { + + if ($previousRow.is('.draggable') && $previousRow.find(".".concat(group)).length) { if (this.indentEnabled) { if ($previousRow.find('.js-indentations').length === $changedRow.find('.js-indentations').length) { sourceRow = previousRow; @@ -628,7 +623,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } else { sourceRow = previousRow; } - } else if ($nextRow.is('.draggable') && $nextRow.find('.' + group).length) { + } else if ($nextRow.is('.draggable') && $nextRow.find(".".concat(group)).length) { if (this.indentEnabled) { if ($nextRow.find('.js-indentations').length === $changedRow.find('.js-indentations').length) { sourceRow = nextRow; @@ -640,6 +635,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } else if (rowSettings.relationship === 'parent') { $previousRow = $changedRow.prev('tr'); previousRow = $previousRow; + while ($previousRow.length && $previousRow.find('.js-indentation').length >= this.rowObject.indents) { $previousRow = $previousRow.prev('tr'); previousRow = $previousRow; @@ -649,9 +645,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol sourceRow = $previousRow.get(0); } else { sourceRow = $(this.table).find('tr.draggable:first-of-type').get(0); + if (sourceRow === this.rowObject.element) { sourceRow = $(this.rowObject.group[this.rowObject.group.length - 1]).next('tr.draggable').get(0); } + useSibling = true; } } @@ -664,12 +662,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol rowSettings.source = rowSettings.target; } - var targetClass = '.' + rowSettings.target; + var targetClass = ".".concat(rowSettings.target); var targetElement = $changedRow.find(targetClass).get(0); if (targetElement) { - var sourceClass = '.' + rowSettings.source; + var sourceClass = ".".concat(rowSettings.source); var sourceElement = $(sourceClass, sourceRow).get(0); + switch (rowSettings.action) { case 'depth': targetElement.value = $(sourceElement).closest('tr').find('.js-indentation').length; @@ -682,13 +681,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol case 'order': { var siblings = this.rowObject.findSiblings(rowSettings); + if ($(targetElement).is('select')) { var values = []; $(targetElement).find('option').each(function collectValues() { values.push(this.value); }); var maxVal = values[values.length - 1]; - $(siblings).find(targetClass).each(function assignValues() { if (values.length > 0) { this.value = values.shift(); @@ -703,14 +702,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol weight += 1; }); } + break; } } } }, copyDragClasses: function copyDragClasses(sourceRow, targetRow, group) { - var sourceElement = $(sourceRow).find('.' + group); - var targetElement = $(targetRow).find('.' + group); + var sourceElement = $(sourceRow).find(".".concat(group)); + var targetElement = $(targetRow).find(".".concat(group)); + if (sourceElement.length && targetElement.length) { targetElement[0].className = sourceElement[0].className; } @@ -720,15 +721,16 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var b = document.body; var windowHeight = window.innerHeight || (de.clientHeight && de.clientWidth !== 0 ? de.clientHeight : b.offsetHeight); this.windowHeight = windowHeight; - var scrollY = void 0; + var scrollY; + if (document.all) { scrollY = !de.scrollTop ? b.scrollTop : de.scrollTop; } else { scrollY = window.pageYOffset ? window.pageYOffset : window.scrollY; } + this.scrollY = scrollY; var trigger = this.scrollSettings.trigger; - var delta = 0; if (cursorY - scrollY > windowHeight - trigger) { @@ -736,6 +738,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol delta = delta > 0 && delta < trigger ? delta : trigger; return delta * this.scrollSettings.amount; } + if (cursorY - scrollY < trigger) { delta = trigger / (cursorY - scrollY); delta = delta > 0 && delta < trigger ? delta : trigger; @@ -744,11 +747,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, setScroll: function setScroll(scrollAmount) { var self = this; - this.scrollInterval = setInterval(function () { self.checkScroll(self.currentPointerCoords.y); var aboveTable = self.scrollY > self.table.topY; var belowTable = self.scrollY + self.windowHeight < self.table.bottomY; + if (scrollAmount > 0 && belowTable || scrollAmount < 0 && aboveTable) { window.scrollBy(0, scrollAmount); } @@ -765,7 +768,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, row: function row(tableRow, method, indentEnabled, maxDepth, addClasses) { var $tableRow = $(tableRow); - this.element = tableRow; this.method = method; this.group = [tableRow]; @@ -774,8 +776,8 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol this.table = $tableRow.closest('table')[0]; this.indentEnabled = indentEnabled; this.maxDepth = maxDepth; - this.direction = ''; + if (this.indentEnabled) { this.indents = $tableRow.find('.js-indentation').length; this.children = this.findChildren(addClasses); @@ -787,7 +789,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } } }); - $.extend(Drupal.tableDrag.prototype.row.prototype, { findChildren: function findChildren(addClasses) { var parentIndentation = this.indents; @@ -797,9 +798,11 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol function rowIndentation(indentNum, el) { var self = $(el); + if (child === 1 && indentNum === parentIndentation) { self.addClass('tree-child-first'); } + if (indentNum === parentIndentation) { self.addClass('tree-child'); } else if (indentNum > parentIndentation) { @@ -811,24 +814,30 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol if (currentRow.find('.js-indentation').length > parentIndentation) { child += 1; rows.push(currentRow[0]); + if (addClasses) { currentRow.find('.js-indentation').each(rowIndentation); } } else { break; } + currentRow = currentRow.next('tr.draggable'); } + if (addClasses && rows.length) { - $(rows[rows.length - 1]).find('.js-indentation:nth-child(' + (parentIndentation + 1) + ')').addClass('tree-child-last'); + $(rows[rows.length - 1]).find(".js-indentation:nth-child(".concat(parentIndentation + 1, ")")).addClass('tree-child-last'); } + return rows; }, isValidSwap: function isValidSwap(row) { var $row = $(row); + if (this.indentEnabled) { - var prevRow = void 0; - var nextRow = void 0; + var prevRow; + var nextRow; + if (this.direction === 'down') { prevRow = row; nextRow = $row.next('tr').get(0); @@ -836,6 +845,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol prevRow = $row.prev('tr').get(0); nextRow = row; } + this.interval = this.validIndentInterval(prevRow, nextRow); if (this.interval.min > this.interval.max) { @@ -854,7 +864,6 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol Drupal.detachBehaviors(detachedRow, drupalSettings, 'move'); }); $(row)[position](this.group); - this.group.forEach(function (attachedRow) { Drupal.attachBehaviors(attachedRow, drupalSettings); }); @@ -863,8 +872,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, validIndentInterval: function validIndentInterval(prevRow, nextRow) { var $prevRow = $(prevRow); - var maxIndent = void 0; - + var maxIndent; var minIndent = nextRow ? $(nextRow).find('.js-indentation').length : 0; if (!prevRow || $prevRow.is(':not(.draggable)') || $(this.element).is('.tabledrag-root')) { @@ -877,7 +885,10 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } } - return { min: minIndent, max: maxIndent }; + return { + min: minIndent, + max: maxIndent + }; }, indent: function indent(indentDiff) { var $group = $(this.group); @@ -902,6 +913,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol this.indents += 1; } } + if (indentDiff) { this.changed = true; this.groupDepth += indentDiff; @@ -914,11 +926,13 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol var siblings = []; var directions = ['prev', 'next']; var rowIndentation = this.indents; - var checkRowIndentation = void 0; + var checkRowIndentation; + for (var d = 0; d < directions.length; d++) { var checkRow = $(this.element)[directions[d]](); + while (checkRow.length) { - if (checkRow.find('.' + rowSettings.target)) { + if (checkRow.find(".".concat(rowSettings.target))) { if (this.indentEnabled) { checkRowIndentation = checkRow.find('.js-indentation').length; } @@ -931,6 +945,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol } else { break; } + checkRow = checkRow[directions[d]](); } @@ -939,6 +954,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol siblings.push(this.element); } } + return siblings; }, removeIndentClasses: function removeIndentClasses() { @@ -951,6 +967,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol markChanged: function markChanged() { var marker = $(Drupal.theme('tableDragChangedMarker')).addClass('js-tabledrag-changed-marker'); var cell = $(this.element).find('td:first-of-type'); + if (cell.find('.js-tabledrag-changed-marker').length === 0) { cell.find('.js-tabledrag-handle').after(marker); } @@ -962,16 +979,15 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol return null; } }); - $.extend(Drupal.theme, { tableDragChangedMarker: function tableDragChangedMarker() { - return '<abbr class="warning tabledrag-changed" title="' + Drupal.t('Changed') + '">*</abbr>'; + return "<abbr class=\"warning tabledrag-changed\" title=\"".concat(Drupal.t('Changed'), "\">*</abbr>"); }, tableDragIndentation: function tableDragIndentation() { return '<div class="js-indentation indentation"><svg xmlns="http://www.w3.org/2000/svg" class="tree" width="25" height="25" viewBox="0 0 25 25"><path class="tree__item tree__item-child-ltr tree__item-child-last-ltr tree__item-horizontal tree__item-horizontal-right" d="M12,12.5 H25" stroke="#888"/><path class="tree__item tree__item-child-rtl tree__item-child-last-rtl tree__item-horizontal tree__horizontal-left" d="M0,12.5 H13" stroke="#888"/><path class="tree__item tree__item-child-ltr tree__item-child-rtl tree__item-child-last-ltr tree__item-child-last-rtl tree__vertical tree__vertical-top" d="M12.5,12 v-99" stroke="#888"/><path class="tree__item tree__item-child-ltr tree__item-child-rtl tree__vertical tree__vertical-bottom" d="M12.5,12 v99" stroke="#888"/></svg></div>'; }, tableDragChangedWarning: function tableDragChangedWarning() { - return '<div class="tabledrag-changed-warning messages messages--warning" role="alert">' + Drupal.theme('tableDragChangedMarker') + ' ' + Drupal.t('You have unsaved changes.') + '</div>'; + return "<div class=\"tabledrag-changed-warning messages messages--warning\" role=\"alert\">".concat(Drupal.theme('tableDragChangedMarker'), " ").concat(Drupal.t('You have unsaved changes.'), "</div>"); }, tableDragHandle: function tableDragHandle() { return '<a href="#" class="tabledrag-handle"></a>'; @@ -984,6 +1000,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol }, tableDragToggle: function tableDragToggle(action, text) { var classes = ['action-link', 'action-link--extrasmall', 'tabledrag-toggle-weight']; + switch (action) { case 'show': classes.push('action-link--icon-show'); @@ -994,7 +1011,7 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol break; } - return '<a href="#" class="' + classes.join(' ') + '">' + text + '</a>'; + return "<a href=\"#\" class=\"".concat(classes.join(' '), "\">").concat(text, "</a>"); }, tableDragToggleWrapper: function tableDragToggleWrapper() { return '<div class="tabledrag-toggle-weight-wrapper"></div>'; diff --git a/core/themes/claro/js/user.js b/core/themes/claro/js/user.js index d6b4e1f290f369c4c91c99a38d1b1ab2980e94e7..fea181e4f6b8596d90e26e26781685e82c16ef16 100644 --- a/core/themes/claro/js/user.js +++ b/core/themes/claro/js/user.js @@ -12,17 +12,11 @@ if ($passwordInput.length) { var translate = settings.password; - var $passwordInputParent = $passwordInput.parent(); - var $passwordWidget = $passwordInput.closest('.js-form-type-password-confirm'); - var $passwordConfirmInput = $passwordWidget.find('input.js-password-confirm'); - var $passwordInputHelp = $(Drupal.theme.passwordInputHelp(translate.strengthTitle)); - var $passwordConfirmHelp = $(Drupal.theme.passwordConfirmHelp(translate.confirmTitle)); - var $passwordInputStrengthBar = $passwordInputHelp.find('.js-password-strength-bar'); var $passwordInputStrengthMessageWrapper = $passwordInputHelp.find('.js-password-strength-text'); var $passwordConfirmMatch = $passwordConfirmHelp.find('.js-password-match-text'); @@ -30,7 +24,6 @@ if (settings.password.showStrengthIndicator) { $passwordConfirmInput.after($passwordConfirmHelp).parent().after($passwordSuggestionsTips); - $passwordInputParent.append($passwordInputHelp); } @@ -54,11 +47,10 @@ if ($newSuggestions.html() !== $passwordSuggestionsTips.html()) { $passwordSuggestionsTips.replaceWith($newSuggestions); $passwordSuggestionsTips = $newSuggestions; - $passwordSuggestionsTips.toggle(result.strength !== 100); } - $passwordInputStrengthBar.css('width', result.strength + '%').removeClass('is-weak is-fair is-good is-strong').addClass(result.indicatorClass); + $passwordInputStrengthBar.css('width', "".concat(result.strength, "%")).removeClass('is-weak is-fair is-good is-strong').addClass(result.indicatorClass); if (!$passwordInputStrengthMessageWrapper.hasClass(result.indicatorClass) || !$passwordInputStrengthMessageWrapper.html() === result.indicatorText) { $passwordInputStrengthMessageWrapper.html(result.indicatorText).removeClass('is-weak is-fair is-good is-strong').addClass(result.indicatorClass); @@ -66,15 +58,12 @@ } $passwordWidget.removeClass('is-initial').removeClass('is-password-empty is-password-filled').removeClass('is-confirm-empty is-confirm-filled'); - $passwordWidget.addClass($passwordInput.val() ? 'is-password-filled' : 'is-password-empty'); - passwordCheckMatch($passwordConfirmInput.val()); $passwordWidget.addClass($passwordConfirmInput.val() ? 'is-confirm-filled' : 'is-confirm-empty'); }; $passwordWidget.addClass($passwordInput.val() ? 'is-password-filled' : 'is-password-empty').addClass($passwordConfirmInput.val() ? 'is-confirm-filled' : 'is-confirm-empty'); - $passwordInput.on('input', passwordCheck); $passwordConfirmInput.on('input', passwordCheck); } @@ -83,8 +72,8 @@ Drupal.evaluatePasswordStrength = function (password, translate) { password = password.trim(); - var indicatorText = void 0; - var indicatorClass = void 0; + var indicatorText; + var indicatorClass; var weaknesses = 0; var strength = 100; var tips = []; @@ -92,7 +81,6 @@ var hasUppercase = /[A-Z]/.test(password); var hasNumbers = /[0-9]/.test(password); var hasPunctuation = /[^a-zA-Z0-9]/.test(password); - var $usernameBox = $('input.username'); var username = $usernameBox.length > 0 ? $usernameBox.val() : translate.username; @@ -105,14 +93,17 @@ tips.push(translate.addLowerCase); weaknesses += 1; } + if (!hasUppercase) { tips.push(translate.addUpperCase); weaknesses += 1; } + if (!hasNumbers) { tips.push(translate.addNumbers); weaknesses += 1; } + if (!hasPunctuation) { tips.push(translate.addPunctuation); weaknesses += 1; @@ -141,7 +132,6 @@ if (password !== '' && password.toLowerCase() === username.toLowerCase()) { tips.push(translate.sameAsUsername); - strength = 5; } @@ -168,14 +158,14 @@ }; Drupal.theme.passwordInputHelp = function (message) { - return '<div class="password-strength">\n <div class="password-strength__track">\n <div class="password-strength__bar js-password-strength-bar"></div>\n </div>\n <div aria-live="polite" aria-atomic="true" class="password-strength__title">\n ' + message + ' <span class="password-strength__text js-password-strength-text"></span>\n </div>\n </div>'; + return "<div class=\"password-strength\">\n <div class=\"password-strength__track\">\n <div class=\"password-strength__bar js-password-strength-bar\"></div>\n </div>\n <div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-strength__title\">\n ".concat(message, " <span class=\"password-strength__text js-password-strength-text\"></span>\n </div>\n </div>"); }; Drupal.theme.passwordConfirmHelp = function (message) { - return '<div aria-live="polite" aria-atomic="true" class="password-match-message">' + message + ' <span class="password-match-message__text js-password-match-text"></span></div>'; + return "<div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-match-message\">".concat(message, " <span class=\"password-match-message__text js-password-match-text\"></span></div>"); }; Drupal.theme.passwordSuggestionsTips = function (title, tips) { - return '<div class="password-suggestions">' + (tips.length ? title + '<ul class="password-suggestions__tips"><li class="password-suggestions__tip">' + tips.join('</li><li class="password-suggestions__tip">') + '</li></ul>' : '') + '</div>'; + return "<div class=\"password-suggestions\">".concat(tips.length ? "".concat(title, "<ul class=\"password-suggestions__tips\"><li class=\"password-suggestions__tip\">").concat(tips.join('</li><li class="password-suggestions__tip">'), "</li></ul>") : '', "</div>"); }; })(jQuery, Drupal); \ No newline at end of file diff --git a/core/themes/claro/js/vertical-tabs.js b/core/themes/claro/js/vertical-tabs.js index 32f6d827215a154e76d9fcd7f2e311d627deb7c9..57f420464def24c6c30d8d1b98be41f8c85841a3 100644 --- a/core/themes/claro/js/vertical-tabs.js +++ b/core/themes/claro/js/vertical-tabs.js @@ -15,30 +15,27 @@ Drupal.behaviors.claroVerticalTabs = { attach: function attach(context) { $('body').once('vertical-tabs-fragments').on('formFragmentLinkClickOrHashChange.verticalTabs', handleFragmentLinkClickOrHashChange); - $(context).find('[data-vertical-tabs-panes]').once('vertical-tabs').each(function initializeVerticalTabs() { var $this = $(this).addClass('vertical-tabs__items--processed'); var focusID = $this.find(':hidden.vertical-tabs__active-tab').val(); - var tabFocus = void 0; - + var tabFocus; var $details = $this.find('> details'); + if ($details.length === 0) { return; } var tabList = $(Drupal.theme.verticalTabListWrapper()); $this.wrap($(Drupal.theme.verticalTabsWrapper()).addClass('js-vertical-tabs')).before(tabList); - $details.each(function initializeVerticalTabItems() { var $that = $(this); - var verticalTab = new Drupal.verticalTab({ title: $that.find('> summary').text(), details: $that }); - tabList.append(verticalTab.item); $that.removeAttr('open').addClass('js-vertical-tabs-pane').data('verticalTab', verticalTab); + if (this.id === focusID) { tabFocus = $that; } @@ -46,12 +43,14 @@ if (!tabFocus) { var $locationHash = $this.find(window.location.hash); + if (window.location.hash && $locationHash.length) { tabFocus = $locationHash.is('.js-vertical-tabs-pane') ? $locationHash : $locationHash.closest('.js-vertical-tabs-pane'); } else { tabFocus = $this.find('> .js-vertical-tabs-pane').eq(0); } } + if (tabFocus.length) { tabFocus.data('verticalTab').focus(false); } @@ -62,25 +61,20 @@ Drupal.verticalTab = function verticalTab(settings) { var self = this; $.extend(this, settings, Drupal.theme('verticalTab', settings)); - this.item.addClass('js-vertical-tabs-menu-item'); - - this.link.attr('href', '#' + settings.details.attr('id')); - + this.link.attr('href', "#".concat(settings.details.attr('id'))); this.detailsSummaryDescription = $(Drupal.theme.verticalTabDetailsDescription()).appendTo(this.details.find('> summary')); - this.link.on('click', function (event) { event.preventDefault(); self.focus(); }); - this.details.on('toggle', function (event) { event.preventDefault(); }); - this.details.find('> summary').on('click', function (event) { event.preventDefault(); self.details.attr('open', true); + if (self.details.hasClass('collapse-processed')) { setTimeout(function () { self.focus(); @@ -95,16 +89,13 @@ }, 10); } }); - this.link.on('keydown', function (event) { if (event.keyCode === 13) { event.preventDefault(); self.focus(); - self.details.find(':input:visible:enabled').eq(0).trigger('focus'); } }); - this.details.on('summaryUpdated', function () { self.updateSummary(); }).trigger('summaryUpdated'); @@ -113,9 +104,9 @@ Drupal.verticalTab.prototype = { focus: function focus() { var triggerFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - this.details.siblings('.js-vertical-tabs-pane').each(function closeOtherTabs() { var tab = $(this).data('verticalTab'); + if (tab.details.attr('open')) { tab.details.removeAttr('open').find('> summary').attr({ 'aria-expanded': 'false', @@ -124,7 +115,6 @@ tab.item.removeClass('is-selected'); } }).end().siblings(':hidden.vertical-tabs__active-tab').val(this.details.attr('id')); - this.details.attr('open', true).find('> summary').attr({ 'aria-expanded': 'true', 'aria-pressed': 'true' @@ -132,12 +122,13 @@ if (triggerFocus) { var $summary = this.details.find('> summary'); + if ($summary.is(':visible')) { $summary.trigger('focus'); } } - this.item.addClass('is-selected'); + this.item.addClass('is-selected'); this.title.after($(Drupal.theme.verticalTabActiveTabIndicator()).addClass('js-vertical-tab-active')); }, updateSummary: function updateSummary() { @@ -147,31 +138,26 @@ }, tabShow: function tabShow() { this.item.removeClass('vertical-tabs__menu-item--hidden').show(); - this.item.closest('.js-form-type-vertical-tabs').show(); - this.details.removeClass('vertical-tab--hidden js-vertical-tab-hidden').show(); - this.details.parent().children('.js-vertical-tabs-pane').removeClass('vertical-tabs__item--first vertical-tabs__item--last').filter(':visible').eq(0).addClass('vertical-tabs__item--first'); this.details.parent().children('.js-vertical-tabs-pane').filter(':visible').eq(-1).addClass('vertical-tabs__item--last'); - this.focus(false); return this; }, tabHide: function tabHide() { this.item.addClass('vertical-tabs__menu-item--hidden').hide(); - this.details.addClass('vertical-tab--hidden js-vertical-tab-hidden').hide(); - this.details.parent().children('.js-vertical-tabs-pane').removeClass('vertical-tabs__item--first vertical-tabs__item--last').filter(':visible').eq(0).addClass('vertical-tabs__item--first'); this.details.parent().children('.js-vertical-tabs-pane').filter(':visible').eq(-1).addClass('vertical-tabs__item--last'); - var $firstTab = this.details.siblings('.js-vertical-tabs-pane:not(.js-vertical-tab-hidden)').eq(0); + if ($firstTab.length) { $firstTab.data('verticalTab').focus(false); } else { this.item.closest('.js-form-type-vertical-tabs').hide(); } + return this; } }; @@ -195,6 +181,6 @@ }; Drupal.theme.verticalTabActiveTabIndicator = function () { - return '<span class="visually-hidden">' + Drupal.t('(active tab)') + '</span>'; + return "<span class=\"visually-hidden\">".concat(Drupal.t('(active tab)'), "</span>"); }; })(jQuery, Drupal); \ No newline at end of file diff --git a/core/themes/classy/js/media_embed_ckeditor.theme.js b/core/themes/classy/js/media_embed_ckeditor.theme.js index 6614288cb4e4e4d15eec8e5e3224497c083962e4..0b9d95999e8e2bd85013524aa5443c9832cf7c4c 100644 --- a/core/themes/classy/js/media_embed_ckeditor.theme.js +++ b/core/themes/classy/js/media_embed_ckeditor.theme.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.mediaEmbedPreviewError = function () { - return '<div class="media-embed-error media-embed-error--preview-error">' + Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.') + '</div>'; + return "<div class=\"media-embed-error media-embed-error--preview-error\">".concat(Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.'), "</div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/themes/seven/js/classy/media_embed_ckeditor.theme.js b/core/themes/seven/js/classy/media_embed_ckeditor.theme.js index 6614288cb4e4e4d15eec8e5e3224497c083962e4..0b9d95999e8e2bd85013524aa5443c9832cf7c4c 100644 --- a/core/themes/seven/js/classy/media_embed_ckeditor.theme.js +++ b/core/themes/seven/js/classy/media_embed_ckeditor.theme.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.mediaEmbedPreviewError = function () { - return '<div class="media-embed-error media-embed-error--preview-error">' + Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.') + '</div>'; + return "<div class=\"media-embed-error media-embed-error--preview-error\">".concat(Drupal.t('An error occurred while trying to preview the media. Please save your work and reload this page.'), "</div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/themes/seven/js/mobile.install.js b/core/themes/seven/js/mobile.install.js index 57c2823fca6d4bae4b6d60c77cca9ba23fef6b9b..095fd11775483ca5353500f5aefa00289ef09a2c 100644 --- a/core/themes/seven/js/mobile.install.js +++ b/core/themes/seven/js/mobile.install.js @@ -16,16 +16,18 @@ if (steps[steps.length - 1].className === 'done') { return steps.length; } + return 0; } function installStepsSetup() { var steps = document.querySelectorAll('.task-list li'); + if (steps.length) { var header = document.querySelector('header[role="banner"]'); var stepIndicator = document.createElement('div'); stepIndicator.className = 'step-indicator'; - stepIndicator.innerHTML = findActiveStep(steps) + '/' + steps.length; + stepIndicator.innerHTML = "".concat(findActiveStep(steps), "/").concat(steps.length); header.appendChild(stepIndicator); } } diff --git a/core/themes/seven/js/nav-tabs.js b/core/themes/seven/js/nav-tabs.js index 82d31cdb7f019558ac55631fd608cba5d2327448..84a6939f948774c3c8bc9aaf2d56e82b5a206d83 100644 --- a/core/themes/seven/js/nav-tabs.js +++ b/core/themes/seven/js/nav-tabs.js @@ -20,16 +20,17 @@ var $tabs = $tab.find('.tabs'); var isHorizontal = $tabs.outerHeight() <= $tabs.find('.tabs__tab').outerHeight(); $tab.toggleClass('is-horizontal', isHorizontal); + if (isCollapsible) { $tab.toggleClass('is-collapse-enabled', !isHorizontal); } + if (isHorizontal) { $target.removeClass('is-open'); } } $tab.addClass('position-container is-horizontal-enabled'); - $tab.on('click.tabs', '[data-drupal-nav-tabs-trigger]', openMenu); $(window).on('resize.tabs', Drupal.debounce(handleResize, 150)).trigger('resize.tabs'); } @@ -37,8 +38,10 @@ Drupal.behaviors.navTabs = { attach: function attach(context, settings) { var $tabs = $(context).find('[data-drupal-nav-tabs]'); + if ($tabs.length) { var notSmartPhone = window.matchMedia('(min-width: 300px)'); + if (notSmartPhone.matches) { $tabs.once('nav-tabs').each(init); } diff --git a/core/themes/seven/js/responsive-details.js b/core/themes/seven/js/responsive-details.js index 3c62e3cef6af47dfb1d0190b9aa1af256d99fe86..2e65d2eb1cd0a62db394515e73ebc66399c1dd45 100644 --- a/core/themes/seven/js/responsive-details.js +++ b/core/themes/seven/js/responsive-details.js @@ -24,7 +24,6 @@ } else { var $notPressed = $details.find('> summary[aria-pressed!=true]').attr('aria-expanded', false); $notPressed.parent('details').attr('open', false); - $summaries.off('.details-open'); } } diff --git a/core/themes/stable/js/user.theme.js b/core/themes/stable/js/user.theme.js index a85ae4e43b819d6aac60d0130331b0f33f45d4aa..fa8aadefd9534da6a59b281423ce04773b71106a 100644 --- a/core/themes/stable/js/user.theme.js +++ b/core/themes/stable/js/user.theme.js @@ -7,6 +7,6 @@ (function (Drupal) { Drupal.theme.passwordConfirmMessage = function (translate) { - return "<div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-confirm js-password-confirm js-password-confirm-message\">" + translate.confirmTitle + " <span></span></div>"; + return "<div aria-live=\"polite\" aria-atomic=\"true\" class=\"password-confirm js-password-confirm js-password-confirm-message\">".concat(translate.confirmTitle, " <span></span></div>"); }; })(Drupal); \ No newline at end of file diff --git a/core/yarn.lock b/core/yarn.lock index eebfe6f53c55c841e90b0f671111e94b6ab2a596..d215adbca1b674c757c4aa37c3d99132826a510e 100644 --- a/core/yarn.lock +++ b/core/yarn.lock @@ -2,125 +2,733 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@>=7.2.2": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@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" +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" + integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + dependencies: + "@babel/highlight" "^7.8.3" + +"@babel/compat-data@^7.8.0", "@babel/compat-data@^7.8.1": + version "7.8.1" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.1.tgz#fc0bbbb7991e4fb2b47e168e60f2cc2c41680be9" + integrity sha512-Z+6ZOXvyOWYxJ50BwxzdhRnRsGST8Y3jaZgxYig575lTjVSs3KtJnmESwZegg6e2Dn0td1eDhoWlp1wI4BTCPw== + dependencies: + browserslist "^4.8.2" + invariant "^2.2.4" + semver "^5.5.0" + +"@babel/core@>=7.2.2", "@babel/core@^7.0.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.3.tgz#30b0ebb4dd1585de6923a0b4d179e0b9f5d82941" + integrity sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helpers" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + convert-source-map "^1.7.0" debug "^4.1.0" + gensync "^1.0.0-beta.1" json5 "^2.1.0" lodash "^4.17.13" resolve "^1.3.2" semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== +"@babel/generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.8.3.tgz#0e22c005b0a94c1c74eafe19ef78ce53a4d45c03" + integrity sha512-WjoPk8hRpDRqqzRpvaR8/gDUPkrnOOeuT2m8cNICJtZH6mwaCo3v0OKMI7Y6SM1pBtyijnLtAL0HDi41pf41ug== dependencies: - "@babel/types" "^7.5.5" + "@babel/types" "^7.8.3" jsesc "^2.5.1" lodash "^4.17.13" source-map "^0.5.0" - trim-right "^1.0.1" -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== +"@babel/helper-annotate-as-pure@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" + integrity sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw== dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" + "@babel/types" "^7.8.3" -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz#c84097a427a061ac56a1c30ebf54b7b22d241503" + integrity sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw== dependencies: - "@babel/types" "^7.0.0" + "@babel/helper-explode-assignable-expression" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== +"@babel/helper-call-delegate@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz#de82619898aa605d409c42be6ffb8d7204579692" + integrity sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A== dependencies: - "@babel/types" "^7.4.4" + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-compilation-targets@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.3.tgz#2deedc816fd41dca7355ef39fd40c9ea69f0719a" + integrity sha512-JLylPCsFjhLN+6uBSSh3iYdxKdeO9MNmoY96PE/99d8kyBFaXLORtAVhqN6iHa+wtPeqxKLghDOZry0+Aiw9Tw== + dependencies: + "@babel/compat-data" "^7.8.1" + browserslist "^4.8.2" + invariant "^2.2.4" + levenary "^1.1.0" + semver "^5.5.0" + +"@babel/helper-create-regexp-features-plugin@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz#c774268c95ec07ee92476a3862b75cc2839beb79" + integrity sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q== + dependencies: + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.6.0" + +"@babel/helper-define-map@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" + integrity sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/types" "^7.8.3" + lodash "^4.17.13" -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== +"@babel/helper-explode-assignable-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz#a728dc5b4e89e30fc2dfc7d04fa28a930653f982" + integrity sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw== dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== +"@babel/helper-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz#eeeb665a01b1f11068e9fb86ad56a1cb1a824cca" + integrity sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA== + dependencies: + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-get-function-arity@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz#b894b947bd004381ce63ea1db9f08547e920abd5" + integrity sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-hoist-variables@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz#1dbe9b6b55d78c9b4183fc8cdc6e30ceb83b7134" + integrity sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-member-expression-to-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz#659b710498ea6c1d9907e0c73f206eee7dadc24c" + integrity sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-module-imports@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz#7fe39589b39c016331b6b8c3f441e8f0b1419498" + integrity sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-module-transforms@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz#d305e35d02bee720fbc2c3c3623aa0c316c01590" + integrity sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + lodash "^4.17.13" + +"@babel/helper-optimise-call-expression@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" + integrity sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz#9ea293be19babc0f52ff8ca88b34c3611b208670" + integrity sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ== + +"@babel/helper-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.8.3.tgz#139772607d51b93f23effe72105b319d2a4c6965" + integrity sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ== + dependencies: + lodash "^4.17.13" + +"@babel/helper-remap-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz#273c600d8b9bf5006142c1e35887d555c12edd86" + integrity sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-wrap-function" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-replace-supers@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz#91192d25f6abbcd41da8a989d4492574fb1530bc" + integrity sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-simple-access@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz#7f8109928b4dab4654076986af575231deb639ae" + integrity sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw== + dependencies: + "@babel/template" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helper-split-export-declaration@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz#31a9f30070f91368a7182cf05f831781065fc7a9" + integrity sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA== + dependencies: + "@babel/types" "^7.8.3" + +"@babel/helper-wrap-function@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" + integrity sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/helpers@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.8.3.tgz#382fbb0382ce7c4ce905945ab9641d688336ce85" + integrity sha512-LmU3q9Pah/XyZU89QvBgGt+BCsTPoQa+73RxAQh8fb8qkDyIfeQnmgs+hvzhTCKTzqOyk7JTkS3MS1S8Mq5yrQ== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/highlight@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" + integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg== dependencies: chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== +"@babel/parser@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.3.tgz#790874091d2001c9be6ec426c2eed47bc7679081" + integrity sha512-/V72F4Yp/qmHaTALizEm9Gf2eQHV3QyTL3K0cNfijwnMnb1L+LDlAubb/ZnSdGAVzVSWakujHYs1I26x66sMeQ== + +"@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" + integrity sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + +"@babel/plugin-proposal-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz#38c4fe555744826e97e2ae930b0fb4cc07e66054" + integrity sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + +"@babel/plugin-proposal-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz#da5216b238a98b58a1e05d6852104b10f9a70d6b" + integrity sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" + integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + +"@babel/plugin-proposal-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz#eb5ae366118ddca67bed583b53d7554cad9951bb" + integrity sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" + integrity sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" + integrity sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" + integrity sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-async-generators@^7.8.0": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-dynamic-import@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-json-strings@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-object-rest-spread@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" -"@babel/runtime@^7.4.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" - integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== +"@babel/plugin-syntax-optional-catch-binding@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz#3acdece695e6b13aaf57fc291d1a800950c71391" + integrity sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-arrow-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz#82776c2ed0cd9e1a49956daeb896024c9473b8b6" + integrity sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-async-to-generator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz#4308fad0d9409d71eafb9b1a6ee35f9d64b64086" + integrity sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-remap-async-to-generator" "^7.8.3" + +"@babel/plugin-transform-block-scoped-functions@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz#437eec5b799b5852072084b3ae5ef66e8349e8a3" + integrity sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-block-scoping@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz#97d35dab66857a437c166358b91d09050c868f3a" + integrity sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + lodash "^4.17.13" + +"@babel/plugin-transform-classes@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz#46fd7a9d2bb9ea89ce88720477979fe0d71b21b8" + integrity sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" + integrity sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-destructuring@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz#20ddfbd9e4676906b1056ee60af88590cc7aaa0b" + integrity sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-dotall-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" + integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-duplicate-keys@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz#8d12df309aa537f272899c565ea1768e286e21f1" + integrity sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz#581a6d7f56970e06bf51560cd64f5e947b70d7b7" + integrity sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.3.tgz#15f17bce2fc95c7d59a24b299e83e81cedc22e18" + integrity sha512-ZjXznLNTxhpf4Q5q3x1NsngzGA38t9naWH8Gt+0qYZEJAcvPI9waSStSh56u19Ofjr7QmD0wUsQ8hw8s/p1VnA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-function-name@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" + integrity sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ== + dependencies: + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz#aef239823d91994ec7b68e55193525d76dbd5dc1" + integrity sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-member-expression-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz#963fed4b620ac7cbf6029c755424029fa3a40410" + integrity sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-modules-amd@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz#65606d44616b50225e76f5578f33c568a0b876a5" + integrity sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ== + dependencies: + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-commonjs@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" + integrity sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg== + dependencies: + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-systemjs@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" + integrity sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg== + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + +"@babel/plugin-transform-modules-umd@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" + integrity sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw== + dependencies: + "@babel/helper-module-transforms" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" + integrity sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + +"@babel/plugin-transform-new-target@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz#60cc2ae66d85c95ab540eb34babb6434d4c70c43" + integrity sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-object-super@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz#ebb6a1e7a86ffa96858bd6ac0102d65944261725" + integrity sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.3.tgz#7890576a13b17325d8b7d44cb37f21dc3bbdda59" + integrity sha512-/pqngtGb54JwMBZ6S/D3XYylQDFtGjWrnoCF4gXZOUpFV/ujbxnoNGNvDGu6doFWRPBveE72qTx/RRU44j5I/Q== + dependencies: + "@babel/helper-call-delegate" "^7.8.3" + "@babel/helper-get-function-arity" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-property-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz#33194300d8539c1ed28c62ad5087ba3807b98263" + integrity sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-regenerator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz#b31031e8059c07495bf23614c97f3d9698bc6ec8" + integrity sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA== + dependencies: + regenerator-transform "^0.14.0" + +"@babel/plugin-transform-reserved-words@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz#9a0635ac4e665d29b162837dd3cc50745dfdf1f5" + integrity sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-shorthand-properties@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz#28545216e023a832d4d3a1185ed492bcfeac08c8" + integrity sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz#9c8ffe8170fdfb88b114ecb920b82fb6e95fe5e8" + integrity sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-sticky-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz#be7a1290f81dae767475452199e1f76d6175b100" + integrity sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + +"@babel/plugin-transform-template-literals@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz#7bfa4732b455ea6a43130adc0ba767ec0e402a80" + integrity sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-typeof-symbol@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.3.tgz#5cffb216fb25c8c64ba6bf5f76ce49d3ab079f4d" + integrity sha512-3TrkKd4LPqm4jHs6nPtSDI/SV9Cm5PRJkHLUgTcqRQQTMAZ44ZaAdDZJtvWFSaRcvT0a1rTmJ5ZA5tDKjleF3g== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-transform-unicode-regex@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" + integrity sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/preset-env@^7.0.0": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.3.tgz#dc0fb2938f52bbddd79b3c861a4b3427dd3a6c54" + integrity sha512-Rs4RPL2KjSLSE2mWAx5/iCH+GC1ikKdxPrhnRS6PfFVaiZeom22VFKN4X8ZthyN61kAaR05tfXTbCvatl9WIQg== + dependencies: + "@babel/compat-data" "^7.8.0" + "@babel/helper-compilation-targets" "^7.8.3" + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-async-generator-functions" "^7.8.3" + "@babel/plugin-proposal-dynamic-import" "^7.8.3" + "@babel/plugin-proposal-json-strings" "^7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@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.8.3" + "@babel/plugin-transform-arrow-functions" "^7.8.3" + "@babel/plugin-transform-async-to-generator" "^7.8.3" + "@babel/plugin-transform-block-scoped-functions" "^7.8.3" + "@babel/plugin-transform-block-scoping" "^7.8.3" + "@babel/plugin-transform-classes" "^7.8.3" + "@babel/plugin-transform-computed-properties" "^7.8.3" + "@babel/plugin-transform-destructuring" "^7.8.3" + "@babel/plugin-transform-dotall-regex" "^7.8.3" + "@babel/plugin-transform-duplicate-keys" "^7.8.3" + "@babel/plugin-transform-exponentiation-operator" "^7.8.3" + "@babel/plugin-transform-for-of" "^7.8.3" + "@babel/plugin-transform-function-name" "^7.8.3" + "@babel/plugin-transform-literals" "^7.8.3" + "@babel/plugin-transform-member-expression-literals" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.8.3" + "@babel/plugin-transform-modules-systemjs" "^7.8.3" + "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" + "@babel/plugin-transform-new-target" "^7.8.3" + "@babel/plugin-transform-object-super" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.8.3" + "@babel/plugin-transform-property-literals" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.3" + "@babel/plugin-transform-reserved-words" "^7.8.3" + "@babel/plugin-transform-shorthand-properties" "^7.8.3" + "@babel/plugin-transform-spread" "^7.8.3" + "@babel/plugin-transform-sticky-regex" "^7.8.3" + "@babel/plugin-transform-template-literals" "^7.8.3" + "@babel/plugin-transform-typeof-symbol" "^7.8.3" + "@babel/plugin-transform-unicode-regex" "^7.8.3" + "@babel/types" "^7.8.3" + browserslist "^4.8.2" + core-js-compat "^3.6.2" + invariant "^2.2.2" + levenary "^1.1.0" + semver "^5.5.0" + +"@babel/register@^7.7.7": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.8.3.tgz#5d5d30cfcc918437535d724b8ac1e4a60c5db1f8" + integrity sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg== + dependencies: + find-cache-dir "^2.0.0" + lodash "^4.17.13" + make-dir "^2.1.0" + pirates "^4.0.0" + source-map-support "^0.5.16" + +"@babel/runtime-corejs3@^7.7.4": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.8.3.tgz#a2445836d0699e5ba77eea2c790ad9ea51e2cd27" + integrity sha512-lrIU4aVbmlM/wQPzhEvzvNJskKyYptuXb0fGC0lTQTupTOYtR2Vqbu6/jf8vTr4M8Wt1nIzxVrSvPI5qESa/xA== + dependencies: + core-js-pure "^3.0.0" regenerator-runtime "^0.13.2" -"@babel/template@^7.1.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== +"@babel/runtime@^7.4.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.4": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.3.tgz#0811944f73a6c926bb2ad35e918dcc1bfab279f1" + integrity sha512-fVHx1rzEmwB130VTkLnxR+HmxcTjGzH12LYQcFFoBwakMd3aOMD4OsRN7tGG/UOYE2ektgFrS8uACAoRk1CY0w== dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" + regenerator-runtime "^0.13.2" + +"@babel/template@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.8.3.tgz#e02ad04fe262a657809327f578056ca15fd4d1b8" + integrity sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" + +"@babel/traverse@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.8.3.tgz#a826215b011c9b4f73f3a893afbc05151358bf9a" + integrity sha512-we+a2lti+eEImHmEXp7bM9cTxGzxPmBiVJlLVD+FuuQMeeO7RaDbutbgeheDkw+Xe3mCfJHnGOWLswT74m2IPg== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.8.3" + "@babel/types" "^7.8.3" debug "^4.1.0" globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== +"@babel/types@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" + integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== dependencies: esutils "^2.0.2" lodash "^4.17.13" @@ -139,6 +747,16 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@testim/chrome-version@^1.0.3": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@testim/chrome-version/-/chrome-version-1.0.6.tgz#e56c1a7f463ee6ceab363b69b642681efcedb809" + integrity sha512-sudmtuzBC6MduzAZe3dzc8Ehhtr0Wk/nDjCDBOWsZ5noSLBsdUED+NLuq2eUHHDb5B0FqXwTitAzoLoVZNQUeg== + +"@types/color-name@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + "@types/events@*": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" @@ -159,27 +777,26 @@ integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== "@types/node@*": - version "12.7.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" - integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== + version "13.5.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-13.5.1.tgz#6fae50892d1841f4b38b298e2f78fb68c5960cb9" + integrity sha512-Jj2W7VWQ2uM83f8Ls5ON9adxN98MvyJsMSASYFuSvrov8RMRY64Ayay7KV35ph1TSGIJ2gG9ZVDdEq3c3zaydA== -"@types/node@^8.0.7": - version "8.10.51" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.51.tgz#80600857c0a47a8e8bafc2dae6daed6db58e3627" - integrity sha512-cArrlJp3Yv6IyFT/DYe+rlO8o3SIHraALbBW/+CcCYW/a9QucpLI+n2p4sRxAvl2O35TiecpX2heSZtJjvEO+Q== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/unist@*", "@types/unist@^2.0.0": +"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== "@types/vfile-message@*": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" - integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-2.0.0.tgz#690e46af0fdfc1f9faae00cd049cc888957927d5" + integrity sha512-GpTIuDpb9u4zIO165fUy9+fXcULdD8HFRNli04GehoMVbeNq7D6OBnqSmg3lxZnC+UvgUhEWKxdKiwYUkGltIw== dependencies: - "@types/node" "*" - "@types/unist" "*" + vfile-message "*" "@types/vfile@^3.0.0": version "3.0.2" @@ -190,27 +807,15 @@ "@types/unist" "*" "@types/vfile-message" "*" -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= - dependencies: - acorn "^3.0.4" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" - integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= +acorn-jsx@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== -acorn@^5.5.0: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== +acorn@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== agent-base@4, agent-base@^4.2.0, agent-base@^4.3.0: version "4.3.0" @@ -226,35 +831,27 @@ agent-base@~4.2.1: dependencies: es6-promisify "^5.0.0" -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I= - -ajv@^5.2.3, ajv@^5.3.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" - integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= - dependencies: - co "^4.6.0" - fast-deep-equal "^1.0.0" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.3.0" - -ajv@^6.10.2, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: + version "6.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" + integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== dependencies: - fast-deep-equal "^2.0.1" + fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== +ansi-colors@3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + +ansi-escapes@^4.2.1: + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.0.tgz#a4ce2b33d6b214b7950d8595c212f12ac9cc569d" + integrity sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg== + dependencies: + type-fest "^0.8.1" ansi-regex@^2.0.0: version "2.1.1" @@ -271,6 +868,11 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -283,26 +885,21 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== +ansi-styles@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" + integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" + "@types/color-name" "^1.1.1" + color-convert "^2.0.1" -aproba@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" + normalize-path "^3.0.0" + picomatch "^2.0.4" argparse@^1.0.7: version "1.0.10" @@ -339,13 +936,14 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= -array-includes@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= +array-includes@^3.0.3, array-includes@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" + integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.7.0" + define-properties "^1.1.3" + es-abstract "^1.17.0" + is-string "^1.0.5" array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" @@ -364,6 +962,14 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flat@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" + integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -411,33 +1017,28 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.1.1: +atob@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.0.0, autoprefixer@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.6.1.tgz#51967a02d2d2300bb01866c1611ec8348d355a47" - integrity sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw== +autoprefixer@^9.0.0, autoprefixer@^9.6.1, autoprefixer@^9.7.1: + version "9.7.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.4.tgz#f8bf3e06707d047f0641d87aee8cfb174b2a5378" + integrity sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g== dependencies: - browserslist "^4.6.3" - caniuse-lite "^1.0.30000980" + browserslist "^4.8.3" + caniuse-lite "^1.0.30001020" chalk "^2.4.2" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^7.0.17" - postcss-value-parser "^4.0.0" + postcss "^7.0.26" + postcss-value-parser "^4.0.2" aws-sign2@~0.7.0: version "0.7.0" @@ -445,18 +1046,19 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== + version "1.9.1" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" + integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== axobject-query@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" - integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== + version "2.1.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.1.tgz#2a3b1271ec722d48a4cd4b3fcc20c853326a49a7" + integrity sha512-lF98xa/yvy6j3fBHAgQXIYl+J4eZadOSqsPojemUqClzNbBV38wWGpUbQbVEyf4eUF5yF7eHmGgGA2JiHyjeqw== dependencies: - ast-types-flow "0.0.7" + "@babel/runtime" "^7.7.4" + "@babel/runtime-corejs3" "^7.7.4" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= @@ -504,111 +1106,6 @@ babel-generator@^6.26.0: source-map "^0.5.7" trim-right "^1.0.1" -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-call-delegate@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" - integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-define-map@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" - integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-function-name@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" - integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= - dependencies: - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-get-function-arity@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" - integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-hoist-variables@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" - integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-optimise-call-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" - integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-helper-regex@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" - integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-replace-supers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" - integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= - dependencies: - babel-helper-optimise-call-expression "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" @@ -629,286 +1126,12 @@ babel-plugin-add-header-comment@^1.0.3: resolved "https://registry.yarnpkg.com/babel-plugin-add-header-comment/-/babel-plugin-add-header-comment-1.0.3.tgz#511c4901062640d5a480b4ac3edd6944195850ec" integrity sha1-URxJAQYmQNWkgLSsPt1pRBlYUOw= -babel-plugin-check-es2015-constants@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" - integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= - -babel-plugin-transform-async-to-generator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-arrow-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" - integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" - integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-block-scoping@^6.23.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" - integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= - dependencies: - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - lodash "^4.17.4" - -babel-plugin-transform-es2015-classes@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" - integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= - dependencies: - babel-helper-define-map "^6.24.1" - babel-helper-function-name "^6.24.1" - babel-helper-optimise-call-expression "^6.24.1" - babel-helper-replace-supers "^6.24.1" - babel-messages "^6.23.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-computed-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" - integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-destructuring@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" - integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" - integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-for-of@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" - integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-function-name@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" - integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" - integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" - integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= - dependencies: - babel-plugin-transform-es2015-modules-commonjs "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" - integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= - dependencies: - babel-helper-hoist-variables "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-modules-umd@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" - integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= - dependencies: - babel-plugin-transform-es2015-modules-amd "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-es2015-object-super@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" - integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= - dependencies: - babel-helper-replace-supers "^6.24.1" - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-parameters@^6.23.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" - integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= - dependencies: - babel-helper-call-delegate "^6.24.1" - babel-helper-get-function-arity "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" - integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-spread@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" - integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-sticky-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" - integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-plugin-transform-es2015-template-literals@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" - integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" - integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-es2015-unicode-regex@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" - integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= - dependencies: - babel-helper-regex "^6.24.1" - babel-runtime "^6.22.0" - regexpu-core "^2.0.0" - -babel-plugin-transform-exponentiation-operator@^6.22.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" - integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= - dependencies: - regenerator-transform "^0.10.0" - -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= +babel-plugin-dynamic-import-node@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" + integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - -babel-preset-env@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.7.0.tgz#dea79fa4ebeb883cd35dab07e260c1c9c04df77a" - integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^3.2.6" - invariant "^2.2.2" - semver "^5.3.0" + object.assign "^4.1.0" babel-register@^6.26.0: version "6.26.0" @@ -923,7 +1146,7 @@ babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: +babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -942,7 +1165,7 @@ babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= @@ -957,7 +1180,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0: invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= @@ -973,9 +1196,9 @@ babylon@^6.18.0: integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== bail@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.4.tgz#7181b66d508aa3055d3f6c13f0a0c720641dde9b" - integrity sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww== + version "1.0.5" + resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: version "1.0.0" @@ -1002,10 +1225,15 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +binary-extensions@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" + integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== + +bluebird@^3.5.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== brace-expansion@^1.1.7: version "1.1.11" @@ -1015,7 +1243,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1, braces@^2.3.2: +braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -1031,6 +1259,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -1044,22 +1279,14 @@ browserslist@^1.1.3: caniuse-db "^1.0.30000639" electron-to-chromium "^1.2.7" -browserslist@^3.2.6: - version "3.2.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" - integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== +browserslist@^4.8.2, browserslist@^4.8.3: + version "4.8.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.8.5.tgz#691af4e327ac877b25e7a3f7ee869c4ef36cdea3" + integrity sha512-4LMHuicxkabIB+n9874jZX/az1IaZ5a+EUuvD7KFOu9x/Bd5YHyO0DIz2ls/Kl8g0ItS4X/ilEgf4T1Br0lgSg== dependencies: - caniuse-lite "^1.0.30000844" - electron-to-chromium "^1.3.47" - -browserslist@^4.6.3: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== - dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" + caniuse-lite "^1.0.30001022" + electron-to-chromium "^1.3.338" + node-releases "^1.1.46" buffer-from@^1.0.0: version "1.1.1" @@ -1098,13 +1325,6 @@ caller-callsite@^2.0.0: dependencies: callsites "^2.0.0" -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= - dependencies: - callsites "^0.2.0" - caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" @@ -1112,16 +1332,16 @@ caller-path@^2.0.0: dependencies: caller-callsite "^2.0.0" -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= - callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -1136,15 +1356,20 @@ camelcase@^4.1.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + caniuse-db@^1.0.30000639: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000989.tgz#bd8dd2789725685054a2c5ef95804f9e6e50fb32" - integrity sha512-5pkU/t9nueoBgELZOCpK+wN4wK6MkIz1Q9lGZSgLwg4xR8EhLY9r0qj6T2bUI8Cq9pGbioEar+Zqgosk5fpbjg== + version "1.0.30001023" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30001023.tgz#f856f71af16a5a44e81f1fcefc1673912a43da72" + integrity sha512-EnlshvE6oAum+wWwKmJNVaoqJMjIc0bLUy4Dj77VVnz1o6bzSPr1Ze9iPy6g5ycg1xD6jGU6vBmo7pLEz2MbCQ== -caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000980, caniuse-lite@^1.0.30000984: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" - integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== +caniuse-lite@^1.0.30001020, caniuse-lite@^1.0.30001022: + version "1.0.30001023" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001023.tgz#b82155827f3f5009077bdd2df3d8968bcbcc6fc4" + integrity sha512-C5TDMiYG11EOhVOA62W1p3UsJ2z4DsHtMBQtjzp3ZsUglcQn62WOUgW0y795c7A5uZ+GCEIvzkMatLIlAsbNTA== caseless@~0.12.0: version "0.12.0" @@ -1152,14 +1377,14 @@ caseless@~0.12.0: integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= ccount@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.4.tgz#9cf2de494ca84060a2a8d2854edd6dfb0445f386" - integrity sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w== + version "1.0.5" + resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.5.tgz#ac82a944905a65ce204eb03023157edf29425c17" + integrity sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw== -chai-nightwatch@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/chai-nightwatch/-/chai-nightwatch-0.3.0.tgz#a3506a81942fbed6aed9e0a914ae32be187f9735" - integrity sha512-NHpHLKQO0M7uNVJ10qlPIzHN9+6f873kYh6dYAn291a1CVESrrH6crbTJwZ3376trtzb6HPa80QYt3gMTL1o4g== +chai-nightwatch@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/chai-nightwatch/-/chai-nightwatch-0.4.0.tgz#028dc2bf234d9ef1e895cb134027795b1c7c9467" + integrity sha512-1xw74vR02XiHzo4wQfHqme2nqYPIzYnK5s3DMST7UW8FIHDWD7qplg+DTJ5FIPcmWiGYX/Re0CzvOcZQKJm1Uw== dependencies: assertion-error "1.0.0" deep-eql "0.1.3" @@ -1175,7 +1400,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1184,70 +1409,70 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4 escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + character-entities-html4@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.3.tgz#5ce6e01618e47048ac22f34f7f39db5c6fd679ef" - integrity sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" + integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== character-entities-legacy@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz#3c729991d9293da0ede6dddcaf1f2ce1009ee8b4" - integrity sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== character-entities@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.3.tgz#bbed4a52fe7ef98cc713c6d80d9faa26916d54e6" - integrity sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w== + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-reference-invalid@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz#1647f4f726638d3ea4a750cf5d1975c1c7919a85" - integrity sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg== + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" - integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -chokidar@^2.0.0: - version "2.1.6" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" - integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" +chokidar@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" + integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.3.0" optionalDependencies: - fsevents "^1.2.7" - -chownr@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== + fsevents "~2.1.2" -chromedriver@^75.1.0: - version "75.1.0" - resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-75.1.0.tgz#edfef5d7a9b16b6f8a12ddb58cbac76ae52732fd" - integrity sha512-N2P0fg6FS4c+tTG0R7cCOD5qiVo+E6uAz6xVjmbZesYv1xs1iGdcCUo0IqOY+ppD/4OOObG+XWV1CFWXT6UIgA== +chromedriver@^79.0.0: + version "79.0.2" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-79.0.2.tgz#abcd7f95203e70eef28bb26696281c6f0cc3c1ea" + integrity sha512-jwgmcTb4UI2cqDAyJBJlGJ/Y6kRVO1VQ3sBw73fFz0TEqKSZfl61ToM53g+G8m5AWVa4ESFkSXEUfQtFZZ6QTA== dependencies: + "@testim/chrome-version" "^1.0.3" del "^4.1.1" extract-zip "^1.6.7" mkdirp "^0.5.1" request "^2.88.0" tcp-port-used "^1.0.1" -circular-json@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" - integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== class-utils@^0.3.5: version "0.3.6" @@ -1259,18 +1484,32 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: - restore-cursor "^2.0.0" + restore-cursor "^3.1.0" + +cli-spinners@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" + integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" + integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + clone-regexp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.1.tgz#051805cd33173375d82118fc0918606da39fd60f" @@ -1279,20 +1518,27 @@ clone-regexp@^1.0.0: is-regexp "^1.0.0" is-supported-regexp-flag "^1.0.0" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - collapse-white-space@^1.0.2: - version "1.0.5" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.5.tgz#c2495b699ab1ed380d29a1091e01063e75dbbe3a" - integrity sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ== + version "1.0.6" + resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== collection-visit@^1.0.0: version "1.0.0" @@ -1309,12 +1555,19 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.1.4: +color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -1326,21 +1579,16 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - -commander@^2.11.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - -commander@^2.20.0: +commander@^2.11.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" @@ -1351,7 +1599,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@1.6.2, concat-stream@^1.6.0: +concat-stream@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -1361,25 +1609,20 @@ concat-stream@1.6.2, concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -confusing-browser-globals@^1.0.5: - version "1.0.8" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz#93ffec1f82a6e2bf2bc36769cc3a92fa20e502f3" - integrity sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg== - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= +confusing-browser-globals@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" + integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== contains-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= -convert-source-map@^1.1.0, convert-source-map@^1.5.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== +convert-source-map@^1.5.1, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" @@ -1388,10 +1631,23 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= +core-js-compat@^3.6.2: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.4.tgz#938476569ebb6cda80d339bcf199fae4f16fff17" + integrity sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA== + dependencies: + browserslist "^4.8.3" + semver "7.0.0" + +core-js-pure@^3.0.0: + version "3.6.4" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" + integrity sha512-epIhRLkXdgv32xIUFaaAry2wdxZYBi6bgM7cB136dzzXXa+dFyRLTZeLUJxnd8ShrmyVXBub63n2NHo2JAt8Cw== + core-js@^2.4.0, core-js@^2.5.0: - version "2.6.9" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.9.tgz#6b4b214620c834152e179323727fc19741b084f2" - integrity sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A== + version "2.6.11" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" + integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" @@ -1408,22 +1664,23 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" -cross-env@^5.1.3: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-5.2.0.tgz#6ecd4c015d5773e614039ee529076669b9d126f2" - integrity sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg== +cosmiconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" + integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== dependencies: - cross-spawn "^6.0.5" - is-windows "^1.0.0" + "@types/parse-json" "^4.0.0" + import-fresh "^3.1.0" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.7.2" -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= +cross-env@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-6.0.3.tgz#4256b71e49b3a40637a0ce70768a6ef5c72ae941" + integrity sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag== dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" + cross-spawn "^7.0.0" cross-spawn@^6.0.5: version "6.0.5" @@ -1436,6 +1693,15 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" +cross-spawn@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" + integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + css-unit-converter@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/css-unit-converter/-/css-unit-converter-1.1.1.tgz#d9b9281adcfd8ced935bdbaba83786897f64e996" @@ -1454,9 +1720,9 @@ currently-unhandled@^0.4.1: array-find-index "^1.0.1" damerau-levenshtein@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.5.tgz#780cf7144eb2e8dbd1c3bb83ae31100ccc31a414" - integrity sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA== + version "1.0.6" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" + integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== dashdash@^1.12.0: version "1.14.1" @@ -1465,14 +1731,12 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-uri-to-buffer@2: - version "2.0.1" - resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-2.0.1.tgz#ca8f56fe38b1fd329473e9d1b4a9afcd8ce1c045" - integrity sha512-OkVVLrerfAKZlW2ZZ3Ve2y65jgiWqBKsTfUIAFbn8nVbPcCZg6l6gikKlEYv0kXcmzqGm6mFq/Jf2vriuEkv8A== - dependencies: - "@types/node" "^8.0.7" +data-uri-to-buffer@1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835" + integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -1486,7 +1750,14 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0: +debug@3.2.6, debug@^3.1.0: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -1500,13 +1771,6 @@ debug@4.1.0: dependencies: ms "^2.1.1" -debug@^3.1.0, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -1515,7 +1779,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0: +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -1532,16 +1796,18 @@ deep-eql@0.1.3: dependencies: type-detect "0.1.1" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" @@ -1598,11 +1864,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -1615,11 +1876,6 @@ detect-indent@^4.0.0: dependencies: repeating "^2.0.0" -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - diff@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -1647,10 +1903,17 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + dom-serializer@0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.1.tgz#13650c850daffea35d8b626a4cfc4d3a17643fdb" - integrity sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q== + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== dependencies: domelementtype "^2.0.1" entities "^2.0.0" @@ -1687,22 +1950,22 @@ dot-prop@^4.1.1: dependencies: is-obj "^1.0.0" -dotenv-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/dotenv-safe/-/dotenv-safe-5.0.1.tgz#8c4a79b8978fd4271b3d8ef17be2b2f04588af71" - integrity sha512-NiS92uLQHKThcQIB4pNEQHLaosz+O1VaJ1yuBaZNj0BASGpQliSzfPKgaoFs/WvE+p8pS9STXOMW30b5uxBZog== +dotenv-safe@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv-safe/-/dotenv-safe-8.2.0.tgz#8d548c7318a62c09a66c4dc8c31864cc007c78ba" + integrity sha512-uWwWWdUQkSs5a3mySDB22UtNwyEYi0JtEQu+vDzIqr9OjbDdC2Ip13PnSpi/fctqlYmzkxCeabiyCAOROuAIaA== dependencies: - dotenv "^5.0.0" + dotenv "^8.2.0" dotenv@7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== -dotenv@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-5.0.1.tgz#a5317459bd3d79ab88cff6e44057a6a3fbb1fcef" - integrity sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow== +dotenv@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" + integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== ecc-jsbn@~0.1.1: version "0.1.2" @@ -1713,20 +1976,25 @@ ecc-jsbn@~0.1.1: safer-buffer "^2.1.0" ejs@^2.5.9: - version "2.6.2" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.2.tgz#3a32c63d1cd16d11266cd4703b14fec4e74ab4f6" - integrity sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q== + version "2.7.4" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" + integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== -electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.191, electron-to-chromium@^1.3.47: - version "1.3.227" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.227.tgz#8dccc63b6456b7b63007b965f79920b99e86ddc0" - integrity sha512-LQJmt0QcUzC/mLjG+ha5QhXgNQ2T2BOxRecuaU/hd92RnZt6G3ZGONsAe7Xvo9SoBvre/POElMoyK77mXjrr3w== +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.338: + version "1.3.341" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.341.tgz#ad4c039bf621715a12dd814a95a7d89ec80b092c" + integrity sha512-iezlV55/tan1rvdvt7yg7VHRSkt+sKfzQ16wTDqTbQqtl4+pSUkKPXpQHDvEt0c7gKcUHHwUbffOgXz6bn096g== emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + entities@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" @@ -1744,22 +2012,27 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.7.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== +es-abstract@^1.17.0, es-abstract@^1.17.0-next.1: + version "1.17.4" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184" + integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ== dependencies: - es-to-primitive "^1.2.0" + es-to-primitive "^1.2.1" function-bind "^1.1.1" has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" @@ -1783,74 +2056,75 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1 integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@1.x.x: - version "1.12.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== + version "1.13.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.13.0.tgz#c7adf9bd3f3cc675bb752f202f79a720189cab29" + integrity sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw== dependencies: - esprima "^3.1.3" + esprima "^4.0.1" estraverse "^4.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^13.2.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz#f6ea81459ff4dec2dda200c35f1d8f7419d57943" - integrity sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w== +eslint-config-airbnb-base@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz#8a7bcb9643d13c55df4dd7444f138bf4efa61e17" + integrity sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA== dependencies: - confusing-browser-globals "^1.0.5" + confusing-browser-globals "^1.0.7" object.assign "^4.1.0" object.entries "^1.1.0" -eslint-config-airbnb@^17.0.0: - version "17.1.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.1.tgz#2272e0b86bb1e2b138cdf88d07a3b6f4cda3d626" - integrity sha512-xCu//8a/aWqagKljt+1/qAM62BYZeNq04HmdevG5yUGWpja0I/xhqd6GdLRch5oetEGFiJAnvtGuTEAese53Qg== +eslint-config-airbnb@^18.0.1: + version "18.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.0.1.tgz#a3a74cc29b46413b6096965025381df8fb908559" + integrity sha512-hLb/ccvW4grVhvd6CT83bECacc+s4Z3/AEyWQdIT2KeTsG9dR7nx1gs7Iw4tDmGKozCNHFn4yZmRm3Tgy+XxyQ== dependencies: - eslint-config-airbnb-base "^13.2.0" + eslint-config-airbnb-base "^14.0.0" object.assign "^4.1.0" object.entries "^1.1.0" -eslint-config-prettier@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz#ec07bc1d01f87d09f61d3840d112dc8a9791e30b" - integrity sha512-Mhl90VLucfBuhmcWBgbUNtgBiK955iCDK1+aHAz7QfDQF6wuzWZ6JjihZ3ejJoGlJWIuko7xLqNm8BA5uenKhA== +eslint-config-prettier@^6.7.0: + version "6.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.10.0.tgz#7b15e303bf9c956875c948f6b21500e48ded6a7f" + integrity sha512-AtndijGte1rPILInUdHjvKEGbIV06NuvPrqlIEaEaWtbtvJh464mDeyGMdZEQMsGvC0ZVkiex1fSNcC4HAbRGg== dependencies: - get-stdin "^5.0.1" + get-stdin "^6.0.0" eslint-import-resolver-node@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" - integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + version "0.3.3" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" + integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== dependencies: debug "^2.6.9" - resolve "^1.5.0" + resolve "^1.13.1" -eslint-module-utils@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" - integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== +eslint-module-utils@^2.4.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.5.2.tgz#7878f7504824e1b857dd2505b59a8e5eda26a708" + integrity sha512-LGScZ/JSlqGKiT8OC+cYRxseMjyqt6QO54nl281CK93unD89ijSeRV6An8Ci/2nvWVKe8K/Tqdm75RQoIOCr+Q== dependencies: - debug "^2.6.8" + debug "^2.6.9" pkg-dir "^2.0.0" eslint-plugin-import@^2.13.0: - version "2.18.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" - integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== + version "2.20.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.0.tgz#d749a7263fb6c29980def8e960d380a6aa6aecaa" + integrity sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ== dependencies: array-includes "^3.0.3" + array.prototype.flat "^1.2.1" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.0" + eslint-module-utils "^2.4.1" has "^1.0.3" minimatch "^3.0.4" object.values "^1.1.0" read-pkg-up "^2.0.0" - resolve "^1.11.0" + resolve "^1.12.0" eslint-plugin-jsx-a11y@^6.0.3: version "6.2.3" @@ -1867,105 +2141,116 @@ eslint-plugin-jsx-a11y@^6.0.3: has "^1.0.3" jsx-ast-utils "^2.2.1" -eslint-plugin-prettier@^2.6.2: - version "2.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.7.0.tgz#b4312dcf2c1d965379d7f9d5b5f8aaadc6a45904" - integrity sha512-CStQYJgALoQBw3FsBzH0VOVDRnJ/ZimUlpLm226U8qgqYJfPOY/CPK6wyRInMxh73HSKg5wyRwdS4BVYYHwokA== +eslint-plugin-prettier@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.2.tgz#432e5a667666ab84ce72f945c72f77d996a5c9ba" + integrity sha512-GlolCC9y3XZfv3RQfwGew7NnuFDKsfI4lbvRK+PIIo23SFH+LemGs4cKwzAaRa+Mdb+lQO/STaIayno8T5sJJA== dependencies: - fast-diff "^1.1.1" - jest-docblock "^21.0.0" + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" + integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== eslint-plugin-react@^7.10.0: - version "7.14.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" - integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA== + version "7.18.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.18.0.tgz#2317831284d005b30aff8afb7c4e906f13fa8e7e" + integrity sha512-p+PGoGeV4SaZRDsXqdj9OWcOrOpZn8gXoGPcIQTzo2IDMbAKhNDnME9myZWqO3Ic4R3YmwAZ1lDjWl2R2hMUVQ== dependencies: - array-includes "^3.0.3" + array-includes "^3.1.1" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.1.0" - object.entries "^1.1.0" - object.fromentries "^2.0.0" - object.values "^1.1.0" + jsx-ast-utils "^2.2.3" + object.entries "^1.1.1" + object.fromentries "^2.0.2" + object.values "^1.1.1" prop-types "^15.7.2" - resolve "^1.10.1" + resolve "^1.14.2" -eslint-scope@^3.7.1: - version "3.7.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" - integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA== +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-visitor-keys@^1.0.0: +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== -eslint@^4.19.1: - version "4.19.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" - integrity sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ== +eslint@^6.7.2: + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" + integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" - doctrine "^2.1.0" - eslint-scope "^3.7.1" - eslint-visitor-keys "^1.0.0" - espree "^3.5.4" - esquery "^1.0.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" esutils "^2.0.2" - file-entry-cache "^2.0.0" + file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" - glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.14" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" - optionator "^0.8.2" - path-is-inside "^1.0.2" - pluralize "^7.0.0" + optionator "^0.8.3" progress "^2.0.0" - regexpp "^1.0.1" - require-uncached "^1.0.3" - semver "^5.3.0" - strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "4.0.2" - text-table "~0.2.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" -espree@^3.5.4: - version "3.5.4" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" - integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== +espree@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" + integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" + acorn "^7.1.0" + acorn-jsx "^5.1.0" + eslint-visitor-keys "^1.1.0" -esprima@3.x.x, esprima@^3.1.3: +esprima@3.x.x: version "3.1.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= -esprima@^4.0.0: +esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.0: +esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== @@ -1996,6 +2281,13 @@ execall@^1.0.0: dependencies: clone-regexp "^1.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -2029,13 +2321,13 @@ extend@^3.0.0, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" - integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^2.0.4: @@ -2072,17 +2364,12 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" - integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-deep-equal@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" + integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== -fast-diff@^1.1.1: +fast-diff@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== @@ -2100,11 +2387,11 @@ fast-glob@^2.2.6: micromatch "^3.1.10" fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.4: +fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -2116,21 +2403,13 @@ fd-slicer@~1.0.1: dependencies: pend "~1.2.0" -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= +figures@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" + integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== dependencies: escape-string-regexp "^1.0.5" -file-entry-cache@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" - integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= - dependencies: - flat-cache "^1.2.1" - object-assign "^4.0.1" - file-entry-cache@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-4.0.0.tgz#633567d15364aefe0b299e1e217735e8f3a9f6e8" @@ -2138,6 +2417,13 @@ file-entry-cache@^4.0.0: dependencies: flat-cache "^2.0.1" +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + file-uri-to-path@1: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -2153,6 +2439,29 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-cache-dir@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" + integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-up@3.0.0, find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -2160,16 +2469,6 @@ find-up@^2.0.0, find-up@^2.1.0: dependencies: locate-path "^2.0.0" -flat-cache@^1.2.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" - integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== - dependencies: - circular-json "^0.3.1" - graceful-fs "^4.1.2" - rimraf "~2.6.2" - write "^0.2.1" - flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -2179,15 +2478,22 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" + integrity sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw== + dependencies: + is-buffer "~2.0.3" + flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== flatten@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" - integrity sha1-2uRqnXj74lKSJYzB54CkHZXAN4I= + version "1.0.3" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== for-in@^1.0.2: version "1.0.2" @@ -2215,25 +2521,15 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== - dependencies: - minipass "^2.2.1" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== - dependencies: - nan "^2.12.1" - node-pre-gyp "^0.12.0" +fsevents@~2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" + integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== ftp@~0.3.10: version "0.3.10" @@ -2258,41 +2554,37 @@ gather-stream@^1.0.0: resolved "https://registry.yarnpkg.com/gather-stream/-/gather-stream-1.0.0.tgz#b33994af457a8115700d410f317733cbe7a0904b" integrity sha1-szmUr0V6gRVwDUEPMXczy+egkEs= -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" +gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= +get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stdin@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" + integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== + get-uri@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.3.tgz#fa13352269781d75162c6fc813c9e905323fbab5" - integrity sha512-x5j6Ks7FOgLD/GlvjKwgu7wdmMR55iuRHhn8hj/+gA+eSbxQvZ+AEomq+3MgVEZj1vpi738QahGbCCSIDtXtkw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/get-uri/-/get-uri-2.0.4.tgz#d4937ab819e218d4cb5ae18e4f5962bef169cc6a" + integrity sha512-v7LT/s8kVjs+Tx0ykk1I+H/rbpzkHvuIq87LmeXptcf5sNWm9uQiwjNAt94SJPA1zOlCntmnOlJvVWKmzsxG8Q== dependencies: - data-uri-to-buffer "2" - debug "4" + data-uri-to-buffer "1" + debug "2" extend "~3.0.2" file-uri-to-path "1" ftp "~0.3.10" - readable-stream "3" + readable-stream "2" get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" @@ -2314,15 +2606,22 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@^5.0.0, glob-parent@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= -glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2332,9 +2631,9 @@ glob@7.1.2: path-is-absolute "^1.0.0" glob@^7.0.3, glob@^7.1.2, glob@^7.1.3: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2359,11 +2658,18 @@ global-prefix@^3.0.0: kind-of "^6.0.2" which "^1.3.1" -globals@^11.0.1, globals@^11.1.0: +globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^12.1.0: + version "12.3.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-12.3.0.tgz#1e564ee5c4dded2ab098b0f88f24702a3c56be13" + integrity sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw== + dependencies: + type-fest "^0.8.1" + globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -2380,7 +2686,7 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^9.0.0: +globby@^9.0.0, globby@^9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== @@ -2399,17 +2705,17 @@ globjoin@^0.1.4: resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= -gonzales-pe@^4.2.3: +gonzales-pe@^4.2.3, gonzales-pe@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.4.tgz#356ae36a312c46fe0f1026dd6cb539039f8500d2" integrity sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ== dependencies: minimist "1.1.x" -graceful-fs@^4.1.11, graceful-fs@^4.1.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== +graceful-fs@^4.1.2: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== growl@1.10.5: version "1.10.5" @@ -2446,15 +2752,15 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= +has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== has-value@^0.3.1: version "0.3.1" @@ -2487,17 +2793,17 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" -he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= +he@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== home-or-tmp@^2.0.0: version "2.0.0" @@ -2508,15 +2814,20 @@ home-or-tmp@^2.0.0: os-tmpdir "^1.0.1" hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== + version "2.8.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.5.tgz#759cfcf2c4d156ade59b0b2dfabddc42a6b9c70c" + integrity sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== html-tags@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + htmlparser2@^3.10.0: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" @@ -2557,39 +2868,27 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-proxy-agent@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz#271ea8e90f836ac9f119daccd39c19ff7dfb0793" - integrity sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg== +https-proxy-agent@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" + integrity sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg== dependencies: agent-base "^4.3.0" debug "^3.1.0" -iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -ignore@^3.3.3: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.3: +ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.0.4: +ignore@^5.0.4, ignore@^5.1.4: version "5.1.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.4.tgz#84b7b3dbe64552b6ef0eca99f6743dbec6d97adf" integrity sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A== @@ -2602,11 +2901,24 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" +import-fresh@^3.0.0, import-fresh@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" + integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-lazy@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" integrity sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ== +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -2630,37 +2942,36 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.5, ini@~1.3.0: +ini@^1.3.5: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" - integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== +inquirer@^7.0.0: + version "7.0.4" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" + integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" - string-width "^2.1.0" - strip-ansi "^4.0.0" + rxjs "^6.5.3" + string-width "^4.1.0" + strip-ansi "^5.1.0" through "^2.3.6" -invariant@^2.2.2: +invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== @@ -2677,7 +2988,7 @@ ip-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.1.0.tgz#5ad62f685a14edb421abebc2fff8db94df67b455" integrity sha512-pKnZpbgCTfH/1NLIlOduP/V+WRXzC2MOz3Qo8xmxk8C5GudJLgK5QyLVXOSWy3ParAH7Eemurl3xjv/WXYFvMA== -ip@^1.1.5: +ip@1.1.5, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -2702,9 +3013,9 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-alphabetical@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.3.tgz#eb04cc47219a8895d8450ace4715abff2258a1f8" - integrity sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== is-alphanumeric@^1.0.0: version "1.0.0" @@ -2712,9 +3023,9 @@ is-alphanumeric@^1.0.0: integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= is-alphanumerical@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz#57ae21c374277b3defe0274c640a5704b8f6657c" - integrity sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== dependencies: is-alphabetical "^1.0.0" is-decimal "^1.0.0" @@ -2724,27 +3035,34 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: - binary-extensions "^1.0.0" + binary-extensions "^2.0.0" is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" - integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== +is-buffer@^2.0.0, is-buffer@~2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623" + integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A== -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-callable@^1.1.4, is-callable@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" + integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== + +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" is-data-descriptor@^0.1.4: version "0.1.4" @@ -2761,14 +3079,14 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== is-decimal@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.3.tgz#381068759b9dc807d8c0dc0bfbae2b68e1da48b7" - integrity sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== is-descriptor@^0.1.0: version "0.1.6" @@ -2817,18 +3135,16 @@ is-finite@^1.0.0: dependencies: number-is-nan "^1.0.0" -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -2836,7 +3152,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -2844,9 +3160,14 @@ is-glob@^4.0.0: is-extglob "^2.1.1" is-hexadecimal@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz#e8a426a69b6d31470d3a33a47bb825cda02506ee" - integrity sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== is-number@^3.0.0: version "3.0.0" @@ -2901,22 +3222,27 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= +is-regex@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" + integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== dependencies: - has "^1.0.1" + has "^1.0.3" is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + +is-string@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" + integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== is-supported-regexp-flag@^1.0.0: version "1.0.1" @@ -2924,13 +3250,13 @@ is-supported-regexp-flag@^1.0.0: integrity sha512-3vcJecUUrpgCqc/ca0aWeNu64UGgxcvO60K/Fkr1N6RSvfGCTU60UKN68JDmKokgba0rFFJs12EnzOQa14ubKQ== is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== dependencies: - has-symbols "^1.0.0" + has-symbols "^1.0.1" -is-typedarray@~1.0.0: +is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -2948,19 +3274,19 @@ is-url@^1.2.2: integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== is-whitespace-character@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz#b3ad9546d916d7d3ffa78204bca0c26b56257fac" - integrity sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== -is-windows@^1.0.0, is-windows@^1.0.2: +is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== is-word-character@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.3.tgz#264d15541cbad0ba833d3992c34e6b40873b08aa" - integrity sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== is2@2.0.1: version "2.0.1" @@ -3003,11 +3329,6 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -jest-docblock@^21.0.0: - version "21.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" - integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== - js-base64@^2.1.9: version "2.5.1" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.1.tgz#1efa39ef2c5f7980bb1784ade4a8af2de3291121" @@ -3023,7 +3344,7 @@ js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= -js-yaml@^3.13.1, js-yaml@^3.9.1: +js-yaml@3.13.1, js-yaml@^3.13.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -3056,11 +3377,6 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== -json-schema-traverse@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" - integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3087,9 +3403,9 @@ json5@^0.5.1: integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6" + integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ== dependencies: minimist "^1.2.0" @@ -3103,10 +3419,10 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.1.0, jsx-ast-utils@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" - integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== +jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" + integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== dependencies: array-includes "^3.0.3" object.assign "^4.1.0" @@ -3131,20 +3447,37 @@ kind-of@^5.0.0: integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== known-css-properties@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.11.0.tgz#0da784f115ea77c76b81536d7052e90ee6c86a8a" integrity sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w== +known-css-properties@^0.17.0: + version "0.17.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.17.0.tgz#1c535f530ee8e9e3e27bb6a718285780e1d07326" + integrity sha512-Vi3nxDGMm/z+lAaCjvAR1u+7fiv+sG6gU/iYDj5QOF8h76ytK9EW/EKfF0NeTyiGBi8Jy6Hklty/vxISrLox3w== + leven@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levenary@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" + integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== + dependencies: + leven "^3.1.0" + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3153,6 +3486,11 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -3181,6 +3519,14 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + lodash._arraycopy@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1" @@ -3274,11 +3620,18 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.4, lodash@^4.3.0: +lodash@^4.1.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== +log-symbols@2.2.0, log-symbols@^2.0.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + dependencies: + chalk "^2.0.1" + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" @@ -3286,17 +3639,17 @@ log-symbols@^1.0.2: dependencies: chalk "^1.0.0" -log-symbols@^2.0.0, log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== +log-symbols@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-3.0.0.tgz#f3a08516a5dea893336a7dee14d18a1cfdab77c4" + integrity sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ== dependencies: - chalk "^2.0.1" + chalk "^2.4.2" longest-streak@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.3.tgz#3de7a3f47ee18e9074ded8575b5c091f5d0a4105" - integrity sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== loose-envify@^1.0.0, loose-envify@^1.4.0: version "1.4.0" @@ -3313,13 +3666,20 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lru-cache@^4.0.1, lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" + pify "^4.0.1" + semver "^5.6.0" map-cache@^0.2.2: version "0.2.2" @@ -3344,24 +3704,24 @@ map-visit@^1.0.0: object-visit "^1.0.0" markdown-escapes@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.3.tgz#6155e10416efaafab665d466ce598216375195f5" - integrity sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw== + version "1.0.4" + resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== markdown-table@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== -mathml-tag-names@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz#6dff66c99d55ecf739ca53c492e626f1d12a33cc" - integrity sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw== +mathml-tag-names@^2.0.1, mathml-tag-names@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" + integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== mdast-util-compact@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz#98a25cc8a7865761a41477b3a87d1dcef0b1e79d" - integrity sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w== + version "1.0.4" + resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593" + integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg== dependencies: unist-util-visit "^1.1.0" @@ -3381,11 +3741,11 @@ meow@^5.0.0: yargs-parser "^10.0.0" merge2@^1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.4.tgz#c9269589e6885a60cf80605d9522d4b67ca646e3" - integrity sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A== + version "1.3.0" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" + integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -3404,24 +3764,32 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +mime-db@1.43.0: + version "1.43.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" + integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== + version "2.1.26" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" + integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== dependencies: - mime-db "1.40.0" + mime-db "1.43.0" -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -3456,21 +3824,6 @@ minimist@~0.0.1: resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= -minipass@^2.2.1, minipass@^2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" - integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - mixin-deep@^1.2.0: version "1.3.2" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" @@ -3479,7 +3832,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@0.5.1, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -3491,42 +3844,54 @@ mkpath@1.0.0: resolved "https://registry.yarnpkg.com/mkpath/-/mkpath-1.0.0.tgz#ebb3a977e7af1c683ae6fda12b545a6ba6c5853d" integrity sha1-67Opd+evHGg65v2hK1Raa6bFhT0= -mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== +mocha@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-6.2.2.tgz#5d8987e28940caf8957a7d7664b910dc5b2fea20" + integrity sha512-FgDS9Re79yU1xz5d+C4rv1G7QagNGHZ+iXF81hO8zY35YZZcLEsJVfFolfsqKFWunATEvNzMK0r/CwWd/szO9A== dependencies: + ansi-colors "3.2.3" browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" + debug "3.2.6" diff "3.5.0" escape-string-regexp "1.0.5" - glob "7.1.2" + find-up "3.0.0" + glob "7.1.3" growl "1.10.5" - he "1.1.1" + he "1.2.0" + js-yaml "3.13.1" + log-symbols "2.2.0" minimatch "3.0.4" mkdirp "0.5.1" - supports-color "5.4.0" + ms "2.1.1" + node-environment-flags "1.0.5" + object.assign "4.1.0" + strip-json-comments "2.0.1" + supports-color "6.0.0" + which "1.3.1" + wide-align "1.1.3" + yargs "13.3.0" + yargs-parser "13.1.1" + yargs-unparser "1.6.0" ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -nan@^2.12.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== nanomatch@^1.2.9: version "1.2.13" @@ -3550,15 +3915,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - netmask@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/netmask/-/netmask-1.0.6.tgz#20297e89d86f6f6400f250d9f4f6b4c1945fcd35" @@ -3570,54 +3926,48 @@ nice-try@^1.0.4: integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nightwatch@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/nightwatch/-/nightwatch-1.2.1.tgz#25cb8f54473fd18714bfb99cc160a58e76cbdfa7" - integrity sha512-y9ihK6Xmo6A32B6zG4XlWumF5f6gIE5QQP54o4PHpnjC4+CA9xwVMtXZL6QlnNYlqS0n34Pk/wpvKL2znjCh0g== + version "1.3.4" + resolved "https://registry.yarnpkg.com/nightwatch/-/nightwatch-1.3.4.tgz#9d3a2b9b104a77591484848db0ff1c0c5dca1579" + integrity sha512-27zWPjmBsHu3IDKc6QTQdRKbTWx4WuTUXbCOT1Wa8Ovxbv+3TZ7GCd9Dt9wm14ElO9Db9/PKVk8JIWThkqGRZA== dependencies: assertion-error "^1.1.0" - chai-nightwatch "^0.3.0" + chai-nightwatch "^0.4.0" dotenv "7.0.0" ejs "^2.5.9" + is-ci "^2.0.0" lodash.clone "3.0.3" lodash.defaultsdeep "^4.6.1" lodash.merge "^4.6.2" minimatch "3.0.4" mkpath "1.0.0" optimist "^0.6.1" - proxy-agent "^3.0.0" + ora "^4.0.2" + proxy-agent "^3.1.1" + request "^2.88.0" + request-promise "^4.2.4" + semver "^6.3.0" optionalDependencies: - mocha "^5.2.0" + mocha "^6.2.2" -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== +node-environment-flags@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/node-environment-flags/-/node-environment-flags-1.0.5.tgz#fa930275f5bf5dae188d6192b24b4c8bbac3d76a" + integrity sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ== dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.25: - version "1.1.27" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.27.tgz#b19ec8add2afe9a826a99dceccc516104c1edaf4" - integrity sha512-9iXUqHKSGo6ph/tdXVbHFbhRVQln4ZDTIBJCzsa90HimnBYc5jw8RWYt4wBYFHehGyC3koIz5O4mb2fHrbPOuA== - dependencies: - semver "^5.3.0" - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= + object.getownpropertydescriptors "^2.0.3" + semver "^5.7.0" + +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + +node-releases@^1.1.46: + version "1.1.47" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4" + integrity sha512-k4xjVPx5FpwBUj0Gw7uvFOTF4Ep8Hok1I6qjwL3pLfwe7Y0REQSAqOwwv9TWBCUtMHxcXfY4PgRLRozcChvTcA== dependencies: - abbrev "1" - osenv "^0.1.4" + semver "^6.3.0" normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" @@ -3629,14 +3979,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -3651,29 +3994,6 @@ normalize-selector@^0.2.0: resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -3689,7 +4009,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -3703,7 +4023,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -3715,7 +4040,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: +object.assign@4.1.0, object.assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== @@ -3725,25 +4050,33 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" -object.entries@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" - integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== +object.entries@^1.1.0, object.entries@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" + integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ== dependencies: define-properties "^1.1.3" - es-abstract "^1.12.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" has "^1.0.3" -object.fromentries@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== +object.fromentries@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" + integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== dependencies: - define-properties "^1.1.2" - es-abstract "^1.11.0" + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" - has "^1.0.1" + has "^1.0.3" + +object.getownpropertydescriptors@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" + integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.0-next.1" object.pick@^1.3.0: version "1.3.0" @@ -3752,13 +4085,13 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" - integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== +object.values@^1.1.0, object.values@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" + integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== dependencies: define-properties "^1.1.3" - es-abstract "^1.12.0" + es-abstract "^1.17.0-next.1" function-bind "^1.1.1" has "^1.0.3" @@ -3769,12 +4102,12 @@ once@^1.3.0: dependencies: wrappy "1" -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== dependencies: - mimic-fn "^1.0.0" + mimic-fn "^2.1.0" optimist@^0.6.1: version "0.6.1" @@ -3784,36 +4117,42 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -optionator@^0.8.1, optionator@^0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= +optionator@^0.8.1, optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== dependencies: deep-is "~0.1.3" - fast-levenshtein "~2.0.4" + fast-levenshtein "~2.0.6" levn "~0.3.0" prelude-ls "~1.1.2" type-check "~0.3.2" - wordwrap "~1.0.0" + word-wrap "~1.2.3" + +ora@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.3.tgz#752a1b7b4be4825546a7a3d59256fa523b6b6d05" + integrity sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg== + dependencies: + chalk "^3.0.0" + cli-cursor "^3.1.0" + cli-spinners "^2.2.0" + is-interactive "^1.0.0" + log-symbols "^3.0.0" + mute-stream "0.0.8" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -3821,6 +4160,13 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" +p-limit@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.2.tgz#61279b67721f5287aa1c13a9a7fbbc48c9291b1e" + integrity sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ== + dependencies: + p-try "^2.0.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" @@ -3828,6 +4174,13 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + p-map@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" @@ -3838,16 +4191,21 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -pac-proxy-agent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.0.tgz#11d578b72a164ad74bf9d5bac9ff462a38282432" - integrity sha512-AOUX9jES/EkQX2zRz0AW7lSx9jD//hQS8wFXBvcnd/J2Py9KaMJMqV/LPqJssj1tgGufotb2mmopGPR15ODv1Q== +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +pac-proxy-agent@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/pac-proxy-agent/-/pac-proxy-agent-3.0.1.tgz#115b1e58f92576cac2eba718593ca7b0e37de2ad" + integrity sha512-44DUg21G/liUZ48dJpUSjZnFfZro/0K5JTyFYLBcmh9+T6Ooi4/i4efwUiEy0+4oQusCBqWdhv16XohIj1GqnQ== dependencies: agent-base "^4.2.0" - debug "^3.1.0" + debug "^4.1.1" get-uri "^2.0.0" http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" + https-proxy-agent "^3.0.0" pac-resolver "^3.0.0" raw-body "^2.2.0" socks-proxy-agent "^4.0.1" @@ -3863,6 +4221,13 @@ pac-resolver@^3.0.0: netmask "^1.0.6" thunkify "^2.1.2" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-entities@^1.0.2, parse-entities@^1.1.0: version "1.2.2" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" @@ -3890,6 +4255,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -3920,6 +4295,11 @@ path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -3939,6 +4319,11 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -3949,6 +4334,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7: + version "2.2.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.1.tgz#21bac888b6ed8601f831ce7816e335bc779f0a4a" + integrity sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA== + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -3976,6 +4366,13 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= +pirates@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" @@ -3983,6 +4380,13 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + plur@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" @@ -3990,11 +4394,6 @@ plur@^2.1.2: dependencies: irregular-plurals "^1.0.0" -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -4043,14 +4442,14 @@ postcss-import@^12.0.1: read-cache "^1.0.0" resolve "^1.1.7" -postcss-jsx@^0.36.0: - version "0.36.3" - resolved "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.36.3.tgz#c91113eae2935a1c94f00353b788ece9acae3f46" - integrity sha512-yV8Ndo6KzU8eho5mCn7LoLUGPkXrRXRjhMpX4AaYJ9wLJPv099xbtpbRQ8FrPnzVxb/cuMebbPR7LweSt+hTfA== +postcss-jsx@^0.36.0, postcss-jsx@^0.36.3: + version "0.36.4" + resolved "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.36.4.tgz#37a68f300a39e5748d547f19a747b3257240bd50" + integrity sha512-jwO/7qWUvYuWYnpOb0+4bIIgJt7003pgU3P6nETBLaOyBXuTD55ho21xnals5nBrlpTIFodyd3/jBi6UO3dHvA== dependencies: "@babel/core" ">=7.2.2" -postcss-less@^3.1.0: +postcss-less@^3.1.0, postcss-less@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.4.tgz#369f58642b5928ef898ffbc1a6e93c958304c5ad" integrity sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA== @@ -4080,7 +4479,7 @@ postcss-reporter@^1.3.3: log-symbols "^1.0.2" postcss "^5.0.0" -postcss-reporter@^6.0.0: +postcss-reporter@^6.0.0, postcss-reporter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f" integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== @@ -4095,7 +4494,7 @@ postcss-resolve-nested-selector@^0.1.1: resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= -postcss-safe-parser@^4.0.0: +postcss-safe-parser@^4.0.0, postcss-safe-parser@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== @@ -4110,6 +4509,14 @@ postcss-sass@^0.3.5: gonzales-pe "^4.2.3" postcss "^7.0.1" +postcss-sass@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.4.2.tgz#7d1f8ddf6960d329de28fb3ff43c9c42013646bc" + integrity sha512-hcRgnd91OQ6Ot9R90PE/khUDCJHG8Uxxd3F7Y0+9VHjBiJgNv7sK5FxyHMCBtoLmmkzVbSj3M3OlqUfLJpq0CQ== + dependencies: + gonzales-pe "^4.2.4" + postcss "^7.0.21" + postcss-scss@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" @@ -4144,13 +4551,13 @@ postcss-selector-parser@^5.0.0-rc.4: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-sorting@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-4.1.0.tgz#a107f0bf3852977fa64e4442bc340c88d5aacdb3" - integrity sha512-r4T2oQd1giURJdHQ/RMb72dKZCuLOdWx2B/XhXN1Y1ZdnwXsKH896Qz6vD4tFy9xSjpKNYhlZoJmWyhH/7JUQw== +postcss-sorting@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/postcss-sorting/-/postcss-sorting-5.0.1.tgz#10d5d0059eea8334dacc820c0121864035bc3f11" + integrity sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA== dependencies: - lodash "^4.17.4" - postcss "^7.0.0" + lodash "^4.17.14" + postcss "^7.0.17" postcss-syntax@^0.36.2: version "0.36.2" @@ -4162,7 +4569,7 @@ postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0, postcss-value-parser@^ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss-value-parser@^4.0.0: +postcss-value-parser@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== @@ -4197,19 +4604,10 @@ postcss@^6.0.13: source-map "^0.6.1" supports-color "^5.4.0" -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.7: - version "7.0.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" - integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.18, postcss@^7.0.5: - version "7.0.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz#4b9cda95ae6c069c67a4d933029eddd4838ac233" - integrity sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g== +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.26, postcss@^7.0.5, postcss@^7.0.7: + version "7.0.26" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.26.tgz#5ed615cfcab35ba9bbb82414a4fa88ea10429587" + integrity sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA== dependencies: chalk "^2.4.2" source-map "^0.6.1" @@ -4220,10 +4618,17 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^1.14.0: - version "1.18.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.18.2.tgz#6823e7c5900017b4bd3acf46fe9ac4b4d7bda9ea" - integrity sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw== + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== private@^0.1.6, private@^0.1.8: version "0.1.8" @@ -4249,17 +4654,17 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -proxy-agent@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.0.tgz#3cf86ee911c94874de4359f37efd9de25157c113" - integrity sha512-IkbZL4ClW3wwBL/ABFD2zJ8iP84CY0uKMvBPk/OceQe/cEjrxzN1pMHsLwhbzUoRhG9QbSxYC+Z7LBkTiBNvrA== +proxy-agent@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.1.1.tgz#7e04e06bf36afa624a1540be247b47c970bd3014" + integrity sha512-WudaR0eTsDx33O3EJE16PjBRZWcX8GqCEeERw1W3hZJgH/F2a46g7jty6UGty6NeJ4CKQy8ds2CJPMiyeqaTvw== dependencies: agent-base "^4.2.0" - debug "^3.1.0" + debug "4" http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.1" - lru-cache "^4.1.2" - pac-proxy-agent "^3.0.0" + https-proxy-agent "^3.0.0" + lru-cache "^5.1.1" + pac-proxy-agent "^3.0.1" proxy-from-env "^1.0.0" socks-proxy-agent "^4.0.1" @@ -4268,22 +4673,17 @@ proxy-from-env@^1.0.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.24: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== +psl@^1.1.24, psl@^1.1.28: + version "1.7.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" + integrity sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ== punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0: +punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -4308,20 +4708,10 @@ raw-body@^2.2.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-is@^16.8.1: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== + version "16.12.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" + integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== read-cache@^1.0.0: version "1.0.0" @@ -4381,19 +4771,10 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@3, readable-stream@^3.1.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" - integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== +readable-stream@2, readable-stream@^2.2.2: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== dependencies: core-util-is "~1.0.0" inherits "~2.0.3" @@ -4403,14 +4784,21 @@ readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.2.2: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== +readable-stream@^3.1.1: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.5.0.tgz#465d70e6d1087f6162d079cd0b5db7fbebfd1606" + integrity sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA== dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17" + integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ== + dependencies: + picomatch "^2.0.7" redent@^2.0.0: version "2.0.0" @@ -4420,7 +4808,14 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" -regenerate@^1.2.1: +regenerate-unicode-properties@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" + integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== + dependencies: + regenerate "^1.4.0" + +regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== @@ -4435,13 +4830,11 @@ regenerator-runtime@^0.13.2: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== -regenerator-transform@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" - integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== +regenerator-transform@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" + integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== dependencies: - babel-runtime "^6.18.0" - babel-types "^6.19.0" private "^0.1.6" regex-not@^1.0.0, regex-not@^1.0.2: @@ -4452,29 +4845,32 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexpp@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" - integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw== +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" - integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= +regexpu-core@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" + integrity sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg== dependencies: - regenerate "^1.2.1" - regjsgen "^0.2.0" - regjsparser "^0.1.4" + regenerate "^1.4.0" + regenerate-unicode-properties "^8.1.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.1.0" -regjsgen@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" - integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= +regjsgen@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" + integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== -regjsparser@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" - integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= +regjsparser@^0.6.0: + version "0.6.2" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.2.tgz#fd62c753991467d9d1ffe0a9f67f27a529024b96" + integrity sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q== dependencies: jsesc "~0.5.0" @@ -4528,11 +4924,6 @@ remark@^10.0.1: remark-stringify "^6.0.0" unified "^7.0.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - repeat-element@^1.1.2: version "1.1.3" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" @@ -4555,6 +4946,23 @@ replace-ext@1.0.0: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= +request-promise-core@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== + dependencies: + lodash "^4.17.15" + +request-promise@^4.2.4: + version "4.2.5" + resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.5.tgz#186222c59ae512f3497dfe4d75a9c8461bd0053c" + integrity sha512-ZgnepCykFdmpq86fKGwqntyTiUrHycALuGggpyCZwMvGaZWgxW6yagT0FHkgo5LzYvOaCNvxYwWYIjevSH1EDg== + dependencies: + bluebird "^3.5.0" + request-promise-core "1.1.3" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + request@^2.88.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -4581,18 +4989,15 @@ request@^2.88.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== resolve-from@^3.0.0: version "3.0.0" @@ -4604,24 +5009,29 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.7, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.11.0, resolve@^1.3.2, resolve@^1.5.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.3.2: + version "1.15.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" + integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== dependencies: path-parse "^1.0.6" -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: - onetime "^2.0.0" + onetime "^5.1.0" signal-exit "^3.0.2" ret@~0.1.10: @@ -4629,14 +5039,14 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rimraf@2.6.3, rimraf@~2.6.2: +rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" -rimraf@^2.6.1, rimraf@^2.6.3: +rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -4650,17 +5060,12 @@ run-async@^2.2.0: dependencies: is-promise "^2.1.0" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= +rxjs@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" + integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= + tslib "^1.9.0" safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: version "5.2.0" @@ -4684,17 +5089,22 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -set-blocking@~2.0.0: +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + +semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -4721,11 +5131,23 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -4741,12 +5163,10 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== - dependencies: - is-fullwidth-code-point "^2.0.0" +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^2.1.0: version "2.1.0" @@ -4757,10 +5177,10 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -smart-buffer@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.0.2.tgz#5207858c3815cc69110703c6b94e46c15634395d" - integrity sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw== +smart-buffer@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" + integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== snapdragon-node@^2.0.1: version "2.1.1" @@ -4801,19 +5221,19 @@ socks-proxy-agent@^4.0.1: socks "~2.3.2" socks@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.2.tgz#ade388e9e6d87fdb11649c15746c578922a5883e" - integrity sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ== + version "2.3.3" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" + integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA== dependencies: - ip "^1.1.5" - smart-buffer "4.0.2" + ip "1.1.5" + smart-buffer "^4.1.0" source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== dependencies: - atob "^2.1.1" + atob "^2.1.2" decode-uri-component "^0.2.0" resolve-url "^0.2.1" source-map-url "^0.4.0" @@ -4826,10 +5246,10 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@~0.5.12: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== +source-map-support@^0.5.16, source-map-support@~0.5.12: + version "0.5.16" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042" + integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -4908,9 +5328,9 @@ sshpk@^1.7.0: tweetnacl "~0.14.0" state-toggle@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.2.tgz#75e93a61944116b4959d665c8db2d243631d6ddc" - integrity sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw== + version "1.0.3" + resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== static-extend@^0.1.1: version "0.1.2" @@ -4925,16 +5345,12 @@ static-extend@^0.1.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" +stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -"string-width@^1.0.2 || 2", string-width@^2.1.0, string-width@^2.1.1: +"string-width@^1.0.2 || 2": version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -4942,7 +5358,7 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0: +string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -4951,6 +5367,31 @@ string-width@^3.0.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" + integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimleft@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" + integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" + integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -4980,7 +5421,7 @@ stringify-entities@^1.0.1: is-alphanumerical "^1.0.0" is-hexadecimal "^1.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= @@ -4994,13 +5435,20 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.1.0: +strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -5011,11 +5459,16 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@~2.0.1: +strip-json-comments@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" @@ -5045,17 +5498,17 @@ stylelint-checkstyle-formatter@^0.1.1: dependencies: lodash "^4.17.10" -stylelint-config-recommended@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz#46ab139db4a0e7151fd5f94af155512886c96d3f" - integrity sha512-bZ+d4RiNEfmoR74KZtCKmsABdBJr4iXRiCso+6LtMJPw5rd/KnxUWTxht7TbafrTJK1YRjNgnN0iVZaJfc3xJA== +stylelint-config-recommended@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz#e0e547434016c5539fe2650afd58049a2fd1d657" + integrity sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ== -stylelint-config-standard@^18.2.0: - version "18.3.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-18.3.0.tgz#a2a1b788d2cf876c013feaff8ae276117a1befa7" - integrity sha512-Tdc/TFeddjjy64LvjPau9SsfVRexmTFqUhnMBrzz07J4p2dVQtmpncRF/o8yZn8ugA3Ut43E6o1GtjX80TFytw== +stylelint-config-standard@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-19.0.0.tgz#66f0cf13f33b8a9e34965881493b38fc1313693a" + integrity sha512-VvcODsL1PryzpYteWZo2YaA5vU/pWfjqBpOvmeA8iB2MteZ/ZhI1O4hnrWMidsS4vmEJpKtjdhLdfGJmmZm6Cg== dependencies: - stylelint-config-recommended "^2.2.0" + stylelint-config-recommended "^3.0.0" stylelint-no-browser-hacks@^1.2.1: version "1.2.1" @@ -5065,16 +5518,70 @@ stylelint-no-browser-hacks@^1.2.1: stylehacks "^2.3" stylelint "^9.1" -stylelint-order@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-2.2.1.tgz#cd2d4a0d81d91c705f1d275a58487e5ad5aa5828" - integrity sha512-019KBV9j8qp1MfBjJuotse6MgaZqGVtXMc91GU9MsS9Feb+jYUvUU3Z8XiClqPdqJZQ0ryXQJGg3U3PcEjXwfg== +stylelint-order@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/stylelint-order/-/stylelint-order-4.0.0.tgz#2a945c2198caac3ff44687d7c8582c81d044b556" + integrity sha512-bXV0v+jfB0+JKsqIn3mLglg1Dj2QCYkFHNfL1c+rVMEmruZmW5LUqT/ARBERfBm8SFtCuXpEdatidw/3IkcoiA== dependencies: - lodash "^4.17.10" - postcss "^7.0.2" - postcss-sorting "^4.1.0" + lodash "^4.17.15" + postcss "^7.0.26" + postcss-sorting "^5.0.1" + +stylelint@^12.0.0: + version "12.0.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-12.0.1.tgz#5b1f3bf7333320acce322b49852c8b85e94ce7e4" + integrity sha512-1mn39pqZiC/e8KUPoRMc1WMM83Upb2ILaSGxkCvKxALHutEOs2txcPQocJiXdO4Zx4FY4prGqjlkwrbthAxqig== + dependencies: + autoprefixer "^9.7.1" + balanced-match "^1.0.0" + chalk "^3.0.0" + cosmiconfig "^6.0.0" + debug "^4.1.1" + execall "^2.0.0" + file-entry-cache "^5.0.1" + get-stdin "^7.0.0" + global-modules "^2.0.0" + globby "^9.2.0" + globjoin "^0.1.4" + html-tags "^3.1.0" + ignore "^5.1.4" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + known-css-properties "^0.17.0" + leven "^3.1.0" + lodash "^4.17.15" + log-symbols "^3.0.0" + mathml-tag-names "^2.1.1" + meow "^5.0.0" + micromatch "^4.0.2" + normalize-selector "^0.2.0" + postcss "^7.0.21" + postcss-html "^0.36.0" + postcss-jsx "^0.36.3" + postcss-less "^3.1.4" + postcss-markdown "^0.36.0" + postcss-media-query-parser "^0.2.3" + postcss-reporter "^6.0.1" + postcss-resolve-nested-selector "^0.1.1" + postcss-safe-parser "^4.0.1" + postcss-sass "^0.4.2" + postcss-scss "^2.0.0" + postcss-selector-parser "^3.1.0" + postcss-syntax "^0.36.2" + postcss-value-parser "^4.0.2" + resolve-from "^5.0.0" + slash "^3.0.0" + specificity "^0.4.1" + string-width "^4.2.0" + strip-ansi "^6.0.0" + style-search "^0.1.0" + sugarss "^2.0.0" + svg-tags "^1.0.0" + table "^5.4.6" + v8-compile-cache "^2.1.0" + write-file-atomic "^3.0.1" -stylelint@^9.1, stylelint@^9.10.1: +stylelint@^9.1: version "9.10.1" resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.10.1.tgz#5f0ee3701461dff1d68284e1386efe8f0677a75d" integrity sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ== @@ -5134,10 +5641,10 @@ sugarss@^2.0.0: dependencies: postcss "^7.0.2" -supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== +supports-color@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.0.0.tgz#76cfe742cf1f41bb9b1c29ad03068c05b4c0e40a" + integrity sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg== dependencies: has-flag "^3.0.0" @@ -5167,46 +5674,28 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +supports-color@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" + integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + dependencies: + has-flag "^4.0.0" + svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= -table@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" - integrity sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA== - dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" - -table@^5.0.0: - version "5.4.5" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42" - integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA== +table@^5.0.0, table@^5.2.3, table@^5.4.6: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== dependencies: ajv "^6.10.2" lodash "^4.17.14" slice-ansi "^2.1.0" string-width "^3.0.0" -tar@^4: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.5" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - tcp-port-used@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tcp-port-used/-/tcp-port-used-1.0.1.tgz#46061078e2d38c73979a2c2c12b5a674e6689d70" @@ -5215,16 +5704,16 @@ tcp-port-used@^1.0.1: debug "4.1.0" is2 "2.0.1" -terser@^4.3.9: - version "4.3.9" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.9.tgz#e4be37f80553d02645668727777687dad26bbca8" - integrity sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA== +terser@^4.4.3: + version "4.6.3" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.3.tgz#e33aa42461ced5238d352d2df2a67f21921f8d87" + integrity sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ== dependencies: commander "^2.20.0" source-map "~0.6.1" source-map-support "~0.5.12" -text-table@^0.2.0, text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= @@ -5240,9 +5729,9 @@ thunkify@^2.1.2: integrity sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0= tlds@^1.203.0: - version "1.203.1" - resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.203.1.tgz#4dc9b02f53de3315bc98b80665e13de3edfc1dfc" - integrity sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw== + version "1.207.0" + resolved "https://registry.yarnpkg.com/tlds/-/tlds-1.207.0.tgz#459264e644cf63ddc0965fece3898913286b1afd" + integrity sha512-k7d7Q1LqjtAvhtEOs3yN14EabsNO8ZCoY6RESSJDB9lst3bTx3as/m1UuAeCKzYxiyhR1qq72ZPhpSf+qlqiwg== tmp@^0.0.33: version "0.0.33" @@ -5276,6 +5765,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -5291,6 +5787,14 @@ toidentifier@1.0.0: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== +tough-cookie@^2.3.3: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -5310,9 +5814,9 @@ trim-right@^1.0.1: integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= trim-trailing-lines@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz#d2f1e153161152e9f02fabc670fb40bec2ea2e3a" - integrity sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q== + version "1.1.3" + resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz#7f0739881ff76657b7776e10874128004b625a94" + integrity sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA== trim@0.0.1: version "0.0.1" @@ -5320,9 +5824,14 @@ trim@0.0.1: integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= trough@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.4.tgz#3b52b1f13924f460c3fbfd0df69b587dbcbc762e" - integrity sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q== + version "1.0.5" + resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== + +tslib@^1.9.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" + integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== tunnel-agent@^0.6.0: version "0.6.0" @@ -5348,18 +5857,53 @@ type-detect@0.1.1: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" integrity sha1-C6XsKohWQORw6k6FBZcZANrFiCI= +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= unherit@^1.0.4: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.2.tgz#14f1f397253ee4ec95cec167762e77df83678449" - integrity sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w== + version "1.1.3" + resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== dependencies: - inherits "^2.0.1" - xtend "^4.0.1" + inherits "^2.0.0" + xtend "^4.0.0" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" + integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" + integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== unified@^7.0.0: version "7.1.0" @@ -5391,9 +5935,9 @@ uniq@^1.0.1: integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= unist-util-find-all-after@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.4.tgz#2eeaba818fd98492d69c44f9bee52c6a25282eef" - integrity sha512-CaxvMjTd+yF93BKLJvZnEfqdM7fgEACsIpQqz8vIj9CJnUb9VpyymFS3tg6TCtgrF7vfCJBF5jbT2Ox9CBRYRQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz#5751a8608834f41d117ad9c577770c5f2f1b2899" + integrity sha512-lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw== dependencies: unist-util-is "^3.0.0" @@ -5403,9 +5947,9 @@ unist-util-is@^3.0.0: integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== unist-util-remove-position@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz#d91aa8b89b30cb38bad2924da11072faa64fd972" - integrity sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA== + version "1.1.4" + resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" + integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== dependencies: unist-util-visit "^1.1.0" @@ -5414,6 +5958,13 @@ unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== +unist-util-stringify-position@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.2.tgz#5a3866e7138d55974b640ec69a94bc19e0f3fa12" + integrity sha512-nK5n8OGhZ7ZgUwoUbL8uiVRwAbZyzBsB/Ddrlbu6jwwubFza4oe15KlyEaLNMXQW1svOQq4xesUeqA85YrIUQA== + dependencies: + "@types/unist" "^2.0.2" + unist-util-visit-parents@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" @@ -5441,11 +5992,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== - uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -5477,9 +6023,14 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + +v8-compile-cache@^2.0.3, v8-compile-cache@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== validate-npm-package-license@^3.0.1: version "3.0.4" @@ -5499,9 +6050,17 @@ verror@1.10.0: extsprintf "^1.2.0" vfile-location@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.5.tgz#c83eb02f8040228a8d2b3f10e485be3e3433e0a2" - integrity sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ== + version "2.0.6" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" + integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== + +vfile-message@*: + version "2.0.2" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.2.tgz#75ba05090ec758fa8420f2c11ce049bcddd8cf3e" + integrity sha512-gNV2Y2fDvDOOqq8bEe7cF3DXU6QgV4uA9zMR2P8tix11l1r7zju3zry3wZ8sx+BEfuO6WQ7z2QzfWTvqHQiwsA== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^2.0.0" vfile-message@^1.0.0: version "1.1.1" @@ -5520,35 +6079,73 @@ vfile@^3.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -which@^1.2.9, which@^1.3.1: +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@1.3.1, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" -wide-align@^1.1.0: +which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== dependencies: string-width "^1.0.2 || 2" +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" + integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= +write-file-atomic@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.1.tgz#558328352e673b5bb192cf86500d60b230667d4b" + integrity sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + write-file-stdout@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/write-file-stdout/-/write-file-stdout-0.0.2.tgz#c252d7c7c5b1b402897630e3453c7bfe690d9ca1" @@ -5561,13 +6158,6 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - dependencies: - mkdirp "^0.5.1" - x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" @@ -5578,20 +6168,35 @@ xregexp@2.0.0: resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= -xtend@^4.0.1: +xtend@^4.0.0, xtend@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== -yallist@^3.0.0, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yaml@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.7.2.tgz#f26aabf738590ab61efaca502358e48dc9f348b2" + integrity sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw== + dependencies: + "@babel/runtime" "^7.6.3" + +yargs-parser@13.1.1, yargs-parser@^13.1.1: + version "13.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" + integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" yargs-parser@^10.0.0: version "10.1.0" @@ -5600,6 +6205,31 @@ yargs-parser@^10.0.0: dependencies: camelcase "^4.1.0" +yargs-unparser@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-1.6.0.tgz#ef25c2c769ff6bd09e4b0f9d7c605fb27846ea9f" + integrity sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw== + dependencies: + flat "^4.1.0" + lodash "^4.17.15" + yargs "^13.3.0" + +yargs@13.3.0, yargs@^13.3.0: + version "13.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" + integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.1" + yauzl@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"