From d1bb0af6c111f12e45cbc5476ddfc8feffd5d0aa Mon Sep 17 00:00:00 2001 From: Clark Winkelmann Date: Thu, 22 Sep 2022 17:12:25 +0200 Subject: [PATCH] Update dependencies and license date --- LICENSE.md | 2 +- js/dist/admin.js.map | 2 +- js/dist/forum.js | 2 +- js/dist/forum.js.map | 2 +- js/package-lock.json | 2572 ++++++++++++++++++++++++++++-------------- 5 files changed, 1758 insertions(+), 822 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 9e47381..24c1575 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2020-2021 FriendsOfFlarum +Copyright (c) 2020-2022 FriendsOfFlarum Copyright (c) 2017-2019 Flagrow Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/js/dist/admin.js.map b/js/dist/admin.js.map index 9ca9697..f950230 100644 --- a/js/dist/admin.js.map +++ b/js/dist/admin.js.map @@ -1 +1 @@ -{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@fof/mason/webpack/bootstrap","webpack://@fof/mason/webpack/runtime/compat get default export","webpack://@fof/mason/webpack/runtime/define property getters","webpack://@fof/mason/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/mason/webpack/runtime/make namespace object","webpack://@fof/mason/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/mason/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/mason/./src/common/models/Answer.ts","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/mason/./src/common/models/Field.ts","webpack://@fof/mason/./node_modules/html5sortable/dist/html5sortable.es.js","webpack://@fof/mason/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/throttleDebounce']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/extractText']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/mason/./src/admin/components/AnswerEdit.js","webpack://@fof/mason/./src/common/helpers/sortByAttribute.ts","webpack://@fof/mason/./src/admin/components/FieldAnswersEdit.js","webpack://@fof/mason/./src/admin/components/FieldEdit.js","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/saveSettings']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Select']\"","webpack://@fof/mason/./src/admin/components/MasonSettings.js","webpack://@fof/mason/./src/admin/pages/MasonFieldsPage.js","webpack://@fof/mason/./src/admin/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","import Model from 'flarum/common/Model';\nimport Field from './Field';\n\nexport default class Answer extends Model {\n content = Model.attribute('content');\n is_suggested = Model.attribute('is_suggested');\n sort = Model.attribute('sort');\n field = Model.hasOne('field');\n\n apiEndpoint() {\n return '/fof/mason/answers' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","import Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport Answer from './Answer';\n\nexport default class Field extends Model {\n name = Model.attribute('name');\n description = Model.attribute('description');\n min_answers_count = Model.attribute('min_answers_count');\n max_answers_count = Model.attribute('max_answers_count');\n show_when_empty = Model.attribute('show_when_empty');\n user_values_allowed = Model.attribute('user_values_allowed');\n validation = Model.attribute('validation');\n icon = Model.attribute('icon');\n sort = Model.attribute('sort');\n deleted_at = Model.attribute('deleted_at', Model.transformDate);\n allAnswers = Model.hasMany('allAnswers');\n suggestedAnswers = Model.hasMany('suggestedAnswers');\n required = computed('min_answers_count', (min_answers_count) => min_answers_count > 0);\n multiple = computed('max_answers_count', (max_answers_count) => max_answers_count > 1);\n\n apiEndpoint() {\n return '/fof/mason/fields' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","/*\n * HTML5Sortable package\n * https://github.com/lukasoppermann/html5sortable\n *\n * Maintained by Lukas Oppermann \n *\n * Released under the MIT license.\n */\n/**\n * Get or set data on element\n * @param {HTMLElement} element\n * @param {string} key\n * @param {any} value\n * @return {*}\n */\nfunction addData(element, key, value) {\n if (value === undefined) {\n return element && element.h5s && element.h5s.data && element.h5s.data[key];\n }\n else {\n element.h5s = element.h5s || {};\n element.h5s.data = element.h5s.data || {};\n element.h5s.data[key] = value;\n }\n}\n/**\n * Remove data from element\n * @param {HTMLElement} element\n */\nfunction removeData(element) {\n if (element.h5s) {\n delete element.h5s.data;\n }\n}\n\n/* eslint-env browser */\n/**\n * Filter only wanted nodes\n * @param {NodeList|HTMLCollection|Array} nodes\n * @param {String} selector\n * @returns {Array}\n */\nvar _filter = (function (nodes, selector) {\n if (!(nodes instanceof NodeList || nodes instanceof HTMLCollection || nodes instanceof Array)) {\n throw new Error('You must provide a nodeList/HTMLCollection/Array of elements to be filtered.');\n }\n if (typeof selector !== 'string') {\n return Array.from(nodes);\n }\n return Array.from(nodes).filter(function (item) { return item.nodeType === 1 && item.matches(selector); });\n});\n\n/* eslint-env browser */\nvar stores = new Map();\n/**\n * Stores data & configurations per Sortable\n * @param {Object} config\n */\nvar Store = /** @class */ (function () {\n function Store() {\n this._config = new Map(); // eslint-disable-line no-undef\n this._placeholder = undefined; // eslint-disable-line no-undef\n this._data = new Map(); // eslint-disable-line no-undef\n }\n Object.defineProperty(Store.prototype, \"config\", {\n /**\n * get the configuration map of a class instance\n * @method config\n * @return {object}\n */\n get: function () {\n // transform Map to object\n var config = {};\n this._config.forEach(function (value, key) {\n config[key] = value;\n });\n // return object\n return config;\n },\n /**\n * set the configuration of a class instance\n * @method config\n * @param {object} config object of configurations\n */\n set: function (config) {\n if (typeof config !== 'object') {\n throw new Error('You must provide a valid configuration object to the config setter.');\n }\n // combine config with default\n var mergedConfig = Object.assign({}, config);\n // add config to map\n this._config = new Map(Object.entries(mergedConfig));\n },\n enumerable: false,\n configurable: true\n });\n /**\n * set individual configuration of a class instance\n * @method setConfig\n * @param key valid configuration key\n * @param value any value\n * @return void\n */\n Store.prototype.setConfig = function (key, value) {\n if (!this._config.has(key)) {\n throw new Error(\"Trying to set invalid configuration item: \" + key);\n }\n // set config\n this._config.set(key, value);\n };\n /**\n * get an individual configuration of a class instance\n * @method getConfig\n * @param key valid configuration key\n * @return any configuration value\n */\n Store.prototype.getConfig = function (key) {\n if (!this._config.has(key)) {\n throw new Error(\"Invalid configuration item requested: \" + key);\n }\n return this._config.get(key);\n };\n Object.defineProperty(Store.prototype, \"placeholder\", {\n /**\n * get the placeholder for a class instance\n * @method placeholder\n * @return {HTMLElement|null}\n */\n get: function () {\n return this._placeholder;\n },\n /**\n * set the placeholder for a class instance\n * @method placeholder\n * @param {HTMLElement} placeholder\n * @return {void}\n */\n set: function (placeholder) {\n if (!(placeholder instanceof HTMLElement) && placeholder !== null) {\n throw new Error('A placeholder must be an html element or null.');\n }\n this._placeholder = placeholder;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * set an data entry\n * @method setData\n * @param {string} key\n * @param {any} value\n * @return {void}\n */\n Store.prototype.setData = function (key, value) {\n if (typeof key !== 'string') {\n throw new Error('The key must be a string.');\n }\n this._data.set(key, value);\n };\n /**\n * get an data entry\n * @method getData\n * @param {string} key an existing key\n * @return {any}\n */\n Store.prototype.getData = function (key) {\n if (typeof key !== 'string') {\n throw new Error('The key must be a string.');\n }\n return this._data.get(key);\n };\n /**\n * delete an data entry\n * @method deleteData\n * @param {string} key an existing key\n * @return {boolean}\n */\n Store.prototype.deleteData = function (key) {\n if (typeof key !== 'string') {\n throw new Error('The key must be a string.');\n }\n return this._data.delete(key);\n };\n return Store;\n}());\n/**\n * @param {HTMLElement} sortableElement\n * @returns {Class: Store}\n */\nvar store = (function (sortableElement) {\n // if sortableElement is wrong type\n if (!(sortableElement instanceof HTMLElement)) {\n throw new Error('Please provide a sortable to the store function.');\n }\n // create new instance if not avilable\n if (!stores.has(sortableElement)) {\n stores.set(sortableElement, new Store());\n }\n // return instance\n return stores.get(sortableElement);\n});\n\n/**\n * @param {Array|HTMLElement} element\n * @param {Function} callback\n * @param {string} event\n */\nfunction addEventListener(element, eventName, callback) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n addEventListener(element[i], eventName, callback);\n }\n return;\n }\n element.addEventListener(eventName, callback);\n store(element).setData(\"event\" + eventName, callback);\n}\n/**\n * @param {Array|HTMLElement} element\n * @param {string} eventName\n */\nfunction removeEventListener(element, eventName) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n removeEventListener(element[i], eventName);\n }\n return;\n }\n element.removeEventListener(eventName, store(element).getData(\"event\" + eventName));\n store(element).deleteData(\"event\" + eventName);\n}\n\n/**\n * @param {Array|HTMLElement} element\n * @param {string} attribute\n * @param {string} value\n */\nfunction addAttribute(element, attribute, value) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n addAttribute(element[i], attribute, value);\n }\n return;\n }\n element.setAttribute(attribute, value);\n}\n/**\n * @param {Array|HTMLElement} element\n * @param {string} attribute\n */\nfunction removeAttribute(element, attribute) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n removeAttribute(element[i], attribute);\n }\n return;\n }\n element.removeAttribute(attribute);\n}\n\n/**\n * @param {HTMLElement} element\n * @returns {Object}\n */\nvar _offset = (function (element) {\n if (!element.parentElement || element.getClientRects().length === 0) {\n throw new Error('target element must be part of the dom');\n }\n var rect = element.getClientRects()[0];\n return {\n left: rect.left + window.pageXOffset,\n right: rect.right + window.pageXOffset,\n top: rect.top + window.pageYOffset,\n bottom: rect.bottom + window.pageYOffset\n };\n});\n\n/**\n * Creates and returns a new debounced version of the passed function which will postpone its execution until after wait milliseconds have elapsed\n * @param {Function} func to debounce\n * @param {number} time to wait before calling function with latest arguments, 0 - no debounce\n * @returns {function} - debounced function\n */\nvar _debounce = (function (func, wait) {\n if (wait === void 0) { wait = 0; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n func.apply(void 0, args);\n }, wait);\n };\n});\n\n/* eslint-env browser */\n/**\n * Get position of the element relatively to its sibling elements\n * @param {HTMLElement} element\n * @returns {number}\n */\nvar _index = (function (element, elementList) {\n if (!(element instanceof HTMLElement) || !(elementList instanceof NodeList || elementList instanceof HTMLCollection || elementList instanceof Array)) {\n throw new Error('You must provide an element and a list of elements.');\n }\n return Array.from(elementList).indexOf(element);\n});\n\n/* eslint-env browser */\n/**\n * Test whether element is in DOM\n * @param {HTMLElement} element\n * @returns {boolean}\n */\nvar isInDom = (function (element) {\n if (!(element instanceof HTMLElement)) {\n throw new Error('Element is not a node element.');\n }\n return element.parentNode !== null;\n});\n\n/* eslint-env browser */\n/**\n * Insert node before or after target\n * @param {HTMLElement} referenceNode - reference element\n * @param {HTMLElement} newElement - element to be inserted\n * @param {String} position - insert before or after reference element\n */\nvar insertNode = function (referenceNode, newElement, position) {\n if (!(referenceNode instanceof HTMLElement) || !(referenceNode.parentElement instanceof HTMLElement)) {\n throw new Error('target and element must be a node');\n }\n referenceNode.parentElement.insertBefore(newElement, (position === 'before' ? referenceNode : referenceNode.nextElementSibling));\n};\n/**\n * Insert before target\n * @param {HTMLElement} target\n * @param {HTMLElement} element\n */\nvar insertBefore = function (target, element) { return insertNode(target, element, 'before'); };\n/**\n * Insert after target\n * @param {HTMLElement} target\n * @param {HTMLElement} element\n */\nvar insertAfter = function (target, element) { return insertNode(target, element, 'after'); };\n\n/* eslint-env browser */\n/**\n * Filter only wanted nodes\n * @param {HTMLElement} sortableContainer\n * @param {Function} customSerializer\n * @returns {Array}\n */\nvar _serialize = (function (sortableContainer, customItemSerializer, customContainerSerializer) {\n if (customItemSerializer === void 0) { customItemSerializer = function (serializedItem, sortableContainer) { return serializedItem; }; }\n if (customContainerSerializer === void 0) { customContainerSerializer = function (serializedContainer) { return serializedContainer; }; }\n // check for valid sortableContainer\n if (!(sortableContainer instanceof HTMLElement) || !sortableContainer.isSortable === true) {\n throw new Error('You need to provide a sortableContainer to be serialized.');\n }\n // check for valid serializers\n if (typeof customItemSerializer !== 'function' || typeof customContainerSerializer !== 'function') {\n throw new Error('You need to provide a valid serializer for items and the container.');\n }\n // get options\n var options = addData(sortableContainer, 'opts');\n var item = options.items;\n // serialize container\n var items = _filter(sortableContainer.children, item);\n var serializedItems = items.map(function (item) {\n return {\n parent: sortableContainer,\n node: item,\n html: item.outerHTML,\n index: _index(item, items)\n };\n });\n // serialize container\n var container = {\n node: sortableContainer,\n itemCount: serializedItems.length\n };\n return {\n container: customContainerSerializer(container),\n items: serializedItems.map(function (item) { return customItemSerializer(item, sortableContainer); })\n };\n});\n\n/* eslint-env browser */\n/**\n * create a placeholder element\n * @param {HTMLElement} sortableElement a single sortable\n * @param {string|undefined} placeholder a string representing an html element\n * @param {string} placeholderClasses a string representing the classes that should be added to the placeholder\n */\nvar _makePlaceholder = (function (sortableElement, placeholder, placeholderClass) {\n var _a;\n if (placeholderClass === void 0) { placeholderClass = 'sortable-placeholder'; }\n if (!(sortableElement instanceof HTMLElement)) {\n throw new Error('You must provide a valid element as a sortable.');\n }\n // if placeholder is not an element\n if (!(placeholder instanceof HTMLElement) && placeholder !== undefined) {\n throw new Error('You must provide a valid element as a placeholder or set ot to undefined.');\n }\n // if no placeholder element is given\n if (placeholder === undefined) {\n if (['UL', 'OL'].includes(sortableElement.tagName)) {\n placeholder = document.createElement('li');\n }\n else if (['TABLE', 'TBODY'].includes(sortableElement.tagName)) {\n placeholder = document.createElement('tr');\n // set colspan to always all rows, otherwise the item can only be dropped in first column\n placeholder.innerHTML = '';\n }\n else {\n placeholder = document.createElement('div');\n }\n }\n // add classes to placeholder\n if (typeof placeholderClass === 'string') {\n (_a = placeholder.classList).add.apply(_a, placeholderClass.split(' '));\n }\n return placeholder;\n});\n\n/* eslint-env browser */\n/**\n * Get height of an element including padding\n * @param {HTMLElement} element an dom element\n */\nvar _getElementHeight = (function (element) {\n if (!(element instanceof HTMLElement)) {\n throw new Error('You must provide a valid dom element');\n }\n // get calculated style of element\n var style = window.getComputedStyle(element);\n // get only height if element has box-sizing: border-box specified\n if (style.getPropertyValue('box-sizing') === 'border-box') {\n return parseInt(style.getPropertyValue('height'), 10);\n }\n // pick applicable properties, convert to int and reduce by adding\n return ['height', 'padding-top', 'padding-bottom']\n .map(function (key) {\n var int = parseInt(style.getPropertyValue(key), 10);\n return isNaN(int) ? 0 : int;\n })\n .reduce(function (sum, value) { return sum + value; });\n});\n\n/* eslint-env browser */\n/**\n * Get width of an element including padding\n * @param {HTMLElement} element an dom element\n */\nvar _getElementWidth = (function (element) {\n if (!(element instanceof HTMLElement)) {\n throw new Error('You must provide a valid dom element');\n }\n // get calculated style of element\n var style = window.getComputedStyle(element);\n // pick applicable properties, convert to int and reduce by adding\n return ['width', 'padding-left', 'padding-right']\n .map(function (key) {\n var int = parseInt(style.getPropertyValue(key), 10);\n return isNaN(int) ? 0 : int;\n })\n .reduce(function (sum, value) { return sum + value; });\n});\n\n/* eslint-env browser */\n/**\n * get handle or return item\n * @param {Array} items\n * @param {string} selector\n */\nvar _getHandles = (function (items, selector) {\n if (!(items instanceof Array)) {\n throw new Error('You must provide a Array of HTMLElements to be filtered.');\n }\n if (typeof selector !== 'string') {\n return items;\n }\n return items\n // remove items without handle from array\n .filter(function (item) {\n return item.querySelector(selector) instanceof HTMLElement ||\n (item.shadowRoot && item.shadowRoot.querySelector(selector) instanceof HTMLElement);\n })\n // replace item with handle in array\n .map(function (item) {\n return item.querySelector(selector) || (item.shadowRoot && item.shadowRoot.querySelector(selector));\n });\n});\n\n/**\n * @param {Event} event\n * @returns {HTMLElement}\n */\nvar getEventTarget = (function (event) {\n return (event.composedPath && event.composedPath()[0]) || event.target;\n});\n\n/* eslint-env browser */\n/**\n * defaultDragImage returns the current item as dragged image\n * @param {HTMLElement} draggedElement - the item that the user drags\n * @param {object} elementOffset - an object with the offsets top, left, right & bottom\n * @param {Event} event - the original drag event object\n * @return {object} with element, posX and posY properties\n */\nvar defaultDragImage = function (draggedElement, elementOffset, event) {\n return {\n element: draggedElement,\n posX: event.pageX - elementOffset.left,\n posY: event.pageY - elementOffset.top\n };\n};\n/**\n * attaches an element as the drag image to an event\n * @param {Event} event - the original drag event object\n * @param {HTMLElement} draggedElement - the item that the user drags\n * @param {Function} customDragImage - function to create a custom dragImage\n * @return void\n */\nvar setDragImage = (function (event, draggedElement, customDragImage) {\n // check if event is provided\n if (!(event instanceof Event)) {\n throw new Error('setDragImage requires a DragEvent as the first argument.');\n }\n // check if draggedElement is provided\n if (!(draggedElement instanceof HTMLElement)) {\n throw new Error('setDragImage requires the dragged element as the second argument.');\n }\n // set default function of none provided\n if (!customDragImage) {\n customDragImage = defaultDragImage;\n }\n // check if setDragImage method is available\n if (event.dataTransfer && event.dataTransfer.setDragImage) {\n // get the elements offset\n var elementOffset = _offset(draggedElement);\n // get the dragImage\n var dragImage = customDragImage(draggedElement, elementOffset, event);\n // check if custom function returns correct values\n if (!(dragImage.element instanceof HTMLElement) || typeof dragImage.posX !== 'number' || typeof dragImage.posY !== 'number') {\n throw new Error('The customDragImage function you provided must return and object with the properties element[string], posX[integer], posY[integer].');\n }\n // needs to be set for HTML5 drag & drop to work\n event.dataTransfer.effectAllowed = 'copyMove';\n // Firefox requires it to use the event target's id for the data\n event.dataTransfer.setData('text/plain', getEventTarget(event).id);\n // set the drag image on the event\n event.dataTransfer.setDragImage(dragImage.element, dragImage.posX, dragImage.posY);\n }\n});\n\n/**\n * Check if curList accepts items from destList\n * @param {sortable} destination the container an item is move to\n * @param {sortable} origin the container an item comes from\n */\nvar _listsConnected = (function (destination, origin) {\n // check if valid sortable\n if (destination.isSortable === true) {\n var acceptFrom = store(destination).getConfig('acceptFrom');\n // check if acceptFrom is valid\n if (acceptFrom !== null && acceptFrom !== false && typeof acceptFrom !== 'string') {\n throw new Error('HTML5Sortable: Wrong argument, \"acceptFrom\" must be \"null\", \"false\", or a valid selector string.');\n }\n if (acceptFrom !== null) {\n return acceptFrom !== false && acceptFrom.split(',').filter(function (sel) {\n return sel.length > 0 && origin.matches(sel);\n }).length > 0;\n }\n // drop in same list\n if (destination === origin) {\n return true;\n }\n // check if lists are connected with connectWith\n if (store(destination).getConfig('connectWith') !== undefined && store(destination).getConfig('connectWith') !== null) {\n return store(destination).getConfig('connectWith') === store(origin).getConfig('connectWith');\n }\n }\n return false;\n});\n\n/**\n * default configurations\n */\nvar defaultConfiguration = {\n items: null,\n // deprecated\n connectWith: null,\n // deprecated\n disableIEFix: null,\n acceptFrom: null,\n copy: false,\n placeholder: null,\n placeholderClass: 'sortable-placeholder',\n draggingClass: 'sortable-dragging',\n hoverClass: false,\n dropTargetContainerClass: false,\n debounce: 0,\n throttleTime: 100,\n maxItems: 0,\n itemSerializer: undefined,\n containerSerializer: undefined,\n customDragImage: null,\n orientation: 'vertical'\n};\n\n/**\n * make sure a function is only called once within the given amount of time\n * @param {Function} fn the function to throttle\n * @param {number} threshold time limit for throttling\n */\n// must use function to keep this context\nfunction _throttle (fn, threshold) {\n var _this = this;\n if (threshold === void 0) { threshold = 250; }\n // check function\n if (typeof fn !== 'function') {\n throw new Error('You must provide a function as the first argument for throttle.');\n }\n // check threshold\n if (typeof threshold !== 'number') {\n throw new Error('You must provide a number as the second argument for throttle.');\n }\n var lastEventTimestamp = null;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var now = Date.now();\n if (lastEventTimestamp === null || now - lastEventTimestamp >= threshold) {\n lastEventTimestamp = now;\n fn.apply(_this, args);\n }\n };\n}\n\n/* eslint-env browser */\n/**\n * enable or disable hoverClass on mouseenter/leave if container Items\n * @param {sortable} sortableContainer a valid sortableContainer\n * @param {boolean} enable enable or disable event\n */\n// export default (sortableContainer: sortable, enable: boolean) => {\nvar enableHoverClass = (function (sortableContainer, enable) {\n if (typeof store(sortableContainer).getConfig('hoverClass') === 'string') {\n var hoverClasses_1 = store(sortableContainer).getConfig('hoverClass').split(' ');\n // add class on hover\n if (enable === true) {\n addEventListener(sortableContainer, 'mousemove', _throttle(function (event) {\n // check of no mouse button was pressed when mousemove started == no drag\n if (event.buttons === 0) {\n _filter(sortableContainer.children, store(sortableContainer).getConfig('items')).forEach(function (item) {\n var _a, _b;\n if (item !== event.target) {\n (_a = item.classList).remove.apply(_a, hoverClasses_1);\n }\n else {\n (_b = item.classList).add.apply(_b, hoverClasses_1);\n }\n });\n }\n }, store(sortableContainer).getConfig('throttleTime')));\n // remove class on leave\n addEventListener(sortableContainer, 'mouseleave', function () {\n _filter(sortableContainer.children, store(sortableContainer).getConfig('items')).forEach(function (item) {\n var _a;\n (_a = item.classList).remove.apply(_a, hoverClasses_1);\n });\n });\n // remove events\n }\n else {\n removeEventListener(sortableContainer, 'mousemove');\n removeEventListener(sortableContainer, 'mouseleave');\n }\n }\n});\n\n/* eslint-env browser */\n/*\n * variables global to the plugin\n */\nvar dragging;\nvar draggingHeight;\nvar draggingWidth;\n/*\n * Keeps track of the initialy selected list, where 'dragstart' event was triggered\n * It allows us to move the data in between individual Sortable List instances\n */\n// Origin List - data from before any item was changed\nvar originContainer;\nvar originIndex;\nvar originElementIndex;\nvar originItemsBeforeUpdate;\n// Previous Sortable Container - we dispatch as sortenter event when a\n// dragged item enters a sortableContainer for the first time\nvar previousContainer;\n// Destination List - data from before any item was changed\nvar destinationItemsBeforeUpdate;\n/**\n * remove event handlers from items\n * @param {Array|NodeList} items\n */\nvar _removeItemEvents = function (items) {\n removeEventListener(items, 'dragstart');\n removeEventListener(items, 'dragend');\n removeEventListener(items, 'dragover');\n removeEventListener(items, 'dragenter');\n removeEventListener(items, 'drop');\n removeEventListener(items, 'mouseenter');\n removeEventListener(items, 'mouseleave');\n};\n// Remove container events\nvar _removeContainerEvents = function (originContainer, previousContainer) {\n if (originContainer) {\n removeEventListener(originContainer, 'dragleave');\n }\n if (previousContainer && (previousContainer !== originContainer)) {\n removeEventListener(previousContainer, 'dragleave');\n }\n};\n/**\n * _getDragging returns the current element to drag or\n * a copy of the element.\n * Is Copy Active for sortable\n * @param {HTMLElement} draggedItem - the item that the user drags\n * @param {HTMLElement} sortable a single sortable\n */\nvar _getDragging = function (draggedItem, sortable) {\n var ditem = draggedItem;\n if (store(sortable).getConfig('copy') === true) {\n ditem = draggedItem.cloneNode(true);\n addAttribute(ditem, 'aria-copied', 'true');\n draggedItem.parentElement.appendChild(ditem);\n ditem.style.display = 'none';\n ditem.oldDisplay = draggedItem.style.display;\n }\n return ditem;\n};\n/**\n * Remove data from sortable\n * @param {HTMLElement} sortable a single sortable\n */\nvar _removeSortableData = function (sortable) {\n removeData(sortable);\n removeAttribute(sortable, 'aria-dropeffect');\n};\n/**\n * Remove data from items\n * @param {Array|HTMLElement} items\n */\nvar _removeItemData = function (items) {\n removeAttribute(items, 'aria-grabbed');\n removeAttribute(items, 'aria-copied');\n removeAttribute(items, 'draggable');\n removeAttribute(items, 'role');\n};\n/**\n * find sortable from element. travels up parent element until found or null.\n * @param {HTMLElement} element a single sortable\n * @param {Event} event - the current event. We need to pass it to be able to\n * find Sortable whith shadowRoot (document fragment has no parent)\n */\nfunction findSortable(element, event) {\n if (event.composedPath) {\n return event.composedPath().find(function (el) { return el.isSortable; });\n }\n while (element.isSortable !== true) {\n element = element.parentElement;\n }\n return element;\n}\n/**\n * Dragging event is on the sortable element. finds the top child that\n * contains the element.\n * @param {HTMLElement} sortableElement a single sortable\n * @param {HTMLElement} element is that being dragged\n */\nfunction findDragElement(sortableElement, element) {\n var options = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, options.items);\n var itemlist = items.filter(function (ele) {\n return ele.contains(element) || (ele.shadowRoot && ele.shadowRoot.contains(element));\n });\n return itemlist.length > 0 ? itemlist[0] : element;\n}\n/**\n * Destroy the sortable\n * @param {HTMLElement} sortableElement a single sortable\n */\nvar _destroySortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts') || {};\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n // remove event handlers & data from sortable\n removeEventListener(sortableElement, 'dragover');\n removeEventListener(sortableElement, 'dragenter');\n removeEventListener(sortableElement, 'dragstart');\n removeEventListener(sortableElement, 'dragend');\n removeEventListener(sortableElement, 'drop');\n // remove event data from sortable\n _removeSortableData(sortableElement);\n // remove event handlers & data from items\n removeEventListener(handles, 'mousedown');\n _removeItemEvents(items);\n _removeItemData(items);\n _removeContainerEvents(originContainer, previousContainer);\n // clear sortable flag\n sortableElement.isSortable = false;\n};\n/**\n * Enable the sortable\n * @param {HTMLElement} sortableElement a single sortable\n */\nvar _enableSortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n addAttribute(sortableElement, 'aria-dropeffect', 'move');\n addData(sortableElement, '_disabled', 'false');\n addAttribute(handles, 'draggable', 'true');\n // @todo: remove this fix\n // IE FIX for ghost\n // can be disabled as it has the side effect that other events\n // (e.g. click) will be ignored\n if (opts.disableIEFix === false) {\n var spanEl = (document || window.document).createElement('span');\n if (typeof spanEl.dragDrop === 'function') {\n addEventListener(handles, 'mousedown', function () {\n if (items.indexOf(this) !== -1) {\n this.dragDrop();\n }\n else {\n var parent = this.parentElement;\n while (items.indexOf(parent) === -1) {\n parent = parent.parentElement;\n }\n parent.dragDrop();\n }\n });\n }\n }\n};\n/**\n * Disable the sortable\n * @param {HTMLElement} sortableElement a single sortable\n */\nvar _disableSortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n addAttribute(sortableElement, 'aria-dropeffect', 'none');\n addData(sortableElement, '_disabled', 'true');\n addAttribute(handles, 'draggable', 'false');\n removeEventListener(handles, 'mousedown');\n};\n/**\n * Reload the sortable\n * @param {HTMLElement} sortableElement a single sortable\n * @description events need to be removed to not be double bound\n */\nvar _reloadSortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n addData(sortableElement, '_disabled', 'false');\n // remove event handlers from items\n _removeItemEvents(items);\n _removeContainerEvents(originContainer, previousContainer);\n removeEventListener(handles, 'mousedown');\n // remove event handlers from sortable\n removeEventListener(sortableElement, 'dragover');\n removeEventListener(sortableElement, 'dragenter');\n removeEventListener(sortableElement, 'drop');\n};\n/**\n * Public sortable object\n * @param {Array|NodeList} sortableElements\n * @param {object|string} options|method\n */\nfunction sortable(sortableElements, options) {\n // get method string to see if a method is called\n var method = String(options);\n options = options || {};\n // check if the user provided a selector instead of an element\n if (typeof sortableElements === 'string') {\n sortableElements = document.querySelectorAll(sortableElements);\n }\n // if the user provided an element, return it in an array to keep the return value consistant\n if (sortableElements instanceof HTMLElement) {\n sortableElements = [sortableElements];\n }\n sortableElements = Array.prototype.slice.call(sortableElements);\n if (/serialize/.test(method)) {\n return sortableElements.map(function (sortableContainer) {\n var opts = addData(sortableContainer, 'opts');\n return _serialize(sortableContainer, opts.itemSerializer, opts.containerSerializer);\n });\n }\n sortableElements.forEach(function (sortableElement) {\n if (/enable|disable|destroy/.test(method)) {\n return sortable[method](sortableElement);\n }\n // log deprecation\n ['connectWith', 'disableIEFix'].forEach(function (configKey) {\n if (Object.prototype.hasOwnProperty.call(options, configKey) && options[configKey] !== null) {\n console.warn(\"HTML5Sortable: You are using the deprecated configuration \\\"\" + configKey + \"\\\". This will be removed in an upcoming version, make sure to migrate to the new options when updating.\");\n }\n });\n // merge options with default options\n options = Object.assign({}, defaultConfiguration, store(sortableElement).config, options);\n // init data store for sortable\n store(sortableElement).config = options;\n // set options on sortable\n addData(sortableElement, 'opts', options);\n // property to define as sortable\n sortableElement.isSortable = true;\n // reset sortable\n _reloadSortable(sortableElement);\n // initialize\n var listItems = _filter(sortableElement.children, options.items);\n // create element if user defined a placeholder element as a string\n var customPlaceholder;\n if (options.placeholder !== null && options.placeholder !== undefined) {\n var tempContainer = document.createElement(sortableElement.tagName);\n if (options.placeholder instanceof HTMLElement) {\n tempContainer.appendChild(options.placeholder);\n }\n else {\n tempContainer.innerHTML = options.placeholder;\n }\n customPlaceholder = tempContainer.children[0];\n }\n // add placeholder\n store(sortableElement).placeholder = _makePlaceholder(sortableElement, customPlaceholder, options.placeholderClass);\n addData(sortableElement, 'items', options.items);\n if (options.acceptFrom) {\n addData(sortableElement, 'acceptFrom', options.acceptFrom);\n }\n else if (options.connectWith) {\n addData(sortableElement, 'connectWith', options.connectWith);\n }\n _enableSortable(sortableElement);\n addAttribute(listItems, 'role', 'option');\n addAttribute(listItems, 'aria-grabbed', 'false');\n // enable hover class\n enableHoverClass(sortableElement, true);\n /*\n Handle drag events on draggable items\n Handle is set at the sortableElement level as it will bubble up\n from the item\n */\n addEventListener(sortableElement, 'dragstart', function (e) {\n // ignore dragstart events\n var target = getEventTarget(e);\n if (target.isSortable === true) {\n return;\n }\n e.stopImmediatePropagation();\n if ((options.handle && !target.matches(options.handle)) || target.getAttribute('draggable') === 'false') {\n return;\n }\n var sortableContainer = findSortable(target, e);\n var dragItem = findDragElement(sortableContainer, target);\n // grab values\n originItemsBeforeUpdate = _filter(sortableContainer.children, options.items);\n originIndex = originItemsBeforeUpdate.indexOf(dragItem);\n originElementIndex = _index(dragItem, sortableContainer.children);\n originContainer = sortableContainer;\n // add transparent clone or other ghost to cursor\n setDragImage(e, dragItem, options.customDragImage);\n // cache selsection & add attr for dragging\n draggingHeight = _getElementHeight(dragItem);\n draggingWidth = _getElementWidth(dragItem);\n dragItem.classList.add(options.draggingClass);\n dragging = _getDragging(dragItem, sortableContainer);\n addAttribute(dragging, 'aria-grabbed', 'true');\n // dispatch sortstart event on each element in group\n sortableContainer.dispatchEvent(new CustomEvent('sortstart', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n item: dragging,\n originalTarget: target\n }\n }));\n });\n /*\n We are capturing targetSortable before modifications with 'dragenter' event\n */\n addEventListener(sortableElement, 'dragenter', function (e) {\n var target = getEventTarget(e);\n var sortableContainer = findSortable(target, e);\n if (sortableContainer && sortableContainer !== previousContainer) {\n destinationItemsBeforeUpdate = _filter(sortableContainer.children, addData(sortableContainer, 'items'))\n .filter(function (item) { return item !== store(sortableElement).placeholder; });\n if (options.dropTargetContainerClass) {\n sortableContainer.classList.add(options.dropTargetContainerClass);\n }\n sortableContainer.dispatchEvent(new CustomEvent('sortenter', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n destination: {\n container: sortableContainer,\n itemsBeforeUpdate: destinationItemsBeforeUpdate\n },\n item: dragging,\n originalTarget: target\n }\n }));\n addEventListener(sortableContainer, 'dragleave', function (e) {\n // TODO: rename outTarget to be more self-explanatory\n // e.fromElement for very old browsers, similar to relatedTarget\n var outTarget = e.relatedTarget || e.fromElement;\n if (!e.currentTarget.contains(outTarget)) {\n if (options.dropTargetContainerClass) {\n sortableContainer.classList.remove(options.dropTargetContainerClass);\n }\n sortableContainer.dispatchEvent(new CustomEvent('sortleave', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: sortableContainer\n },\n item: dragging,\n originalTarget: target\n }\n }));\n }\n });\n }\n previousContainer = sortableContainer;\n });\n /*\n * Dragend Event - https://developer.mozilla.org/en-US/docs/Web/Events/dragend\n * Fires each time dragEvent end, or ESC pressed\n * We are using it to clean up any draggable elements and placeholders\n */\n addEventListener(sortableElement, 'dragend', function (e) {\n if (!dragging) {\n return;\n }\n dragging.classList.remove(options.draggingClass);\n addAttribute(dragging, 'aria-grabbed', 'false');\n if (dragging.getAttribute('aria-copied') === 'true' && addData(dragging, 'dropped') !== 'true') {\n dragging.remove();\n }\n dragging.style.display = dragging.oldDisplay;\n delete dragging.oldDisplay;\n var visiblePlaceholder = Array.from(stores.values()).map(function (data) { return data.placeholder; })\n .filter(function (placeholder) { return placeholder instanceof HTMLElement; })\n .filter(isInDom)[0];\n if (visiblePlaceholder) {\n visiblePlaceholder.remove();\n }\n // dispatch sortstart event on each element in group\n sortableElement.dispatchEvent(new CustomEvent('sortstop', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n item: dragging\n }\n }));\n previousContainer = null;\n dragging = null;\n draggingHeight = null;\n draggingWidth = null;\n });\n /*\n * Drop Event - https://developer.mozilla.org/en-US/docs/Web/Events/drop\n * Fires when valid drop target area is hit\n */\n addEventListener(sortableElement, 'drop', function (e) {\n if (!_listsConnected(sortableElement, dragging.parentElement)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n addData(dragging, 'dropped', 'true');\n // get the one placeholder that is currently visible\n var visiblePlaceholder = Array.from(stores.values()).map(function (data) {\n return data.placeholder;\n })\n // filter only HTMLElements\n .filter(function (placeholder) { return placeholder instanceof HTMLElement; })\n // filter only elements in DOM\n .filter(isInDom)[0];\n // attach element after placeholder\n insertAfter(visiblePlaceholder, dragging);\n // remove placeholder from dom\n visiblePlaceholder.remove();\n /*\n * Fires Custom Event - 'sortstop'\n */\n sortableElement.dispatchEvent(new CustomEvent('sortstop', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n item: dragging\n }\n }));\n var placeholder = store(sortableElement).placeholder;\n var originItems = _filter(originContainer.children, options.items)\n .filter(function (item) { return item !== placeholder; });\n var destinationContainer = this.isSortable === true ? this : this.parentElement;\n var destinationItems = _filter(destinationContainer.children, addData(destinationContainer, 'items'))\n .filter(function (item) { return item !== placeholder; });\n var destinationElementIndex = _index(dragging, Array.from(dragging.parentElement.children)\n .filter(function (item) { return item !== placeholder; }));\n var destinationIndex = _index(dragging, destinationItems);\n if (options.dropTargetContainerClass) {\n destinationContainer.classList.remove(options.dropTargetContainerClass);\n }\n /*\n * When a list item changed container lists or index within a list\n * Fires Custom Event - 'sortupdate'\n */\n if (originElementIndex !== destinationElementIndex || originContainer !== destinationContainer) {\n sortableElement.dispatchEvent(new CustomEvent('sortupdate', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer,\n itemsBeforeUpdate: originItemsBeforeUpdate,\n items: originItems\n },\n destination: {\n index: destinationIndex,\n elementIndex: destinationElementIndex,\n container: destinationContainer,\n itemsBeforeUpdate: destinationItemsBeforeUpdate,\n items: destinationItems\n },\n item: dragging\n }\n }));\n }\n });\n var debouncedDragOverEnter = _debounce(function (sortableElement, element, pageX, pageY) {\n if (!dragging) {\n return;\n }\n // set placeholder height if forcePlaceholderSize option is set\n if (options.forcePlaceholderSize) {\n store(sortableElement).placeholder.style.height = draggingHeight + 'px';\n store(sortableElement).placeholder.style.width = draggingWidth + 'px';\n }\n // if element the draggedItem is dragged onto is within the array of all elements in list\n // (not only items, but also disabled, etc.)\n if (Array.from(sortableElement.children).indexOf(element) > -1) {\n var thisHeight = _getElementHeight(element);\n var thisWidth = _getElementWidth(element);\n var placeholderIndex = _index(store(sortableElement).placeholder, element.parentElement.children);\n var thisIndex = _index(element, element.parentElement.children);\n // Check if `element` is bigger than the draggable. If it is, we have to define a dead zone to prevent flickering\n if (thisHeight > draggingHeight || thisWidth > draggingWidth) {\n // Dead zone?\n var deadZoneVertical = thisHeight - draggingHeight;\n var deadZoneHorizontal = thisWidth - draggingWidth;\n var offsetTop = _offset(element).top;\n var offsetLeft = _offset(element).left;\n if (placeholderIndex < thisIndex &&\n ((options.orientation === 'vertical' && pageY < offsetTop) ||\n (options.orientation === 'horizontal' && pageX < offsetLeft))) {\n return;\n }\n if (placeholderIndex > thisIndex &&\n ((options.orientation === 'vertical' && pageY > offsetTop + thisHeight - deadZoneVertical) ||\n (options.orientation === 'horizontal' && pageX > offsetLeft + thisWidth - deadZoneHorizontal))) {\n return;\n }\n }\n if (dragging.oldDisplay === undefined) {\n dragging.oldDisplay = dragging.style.display;\n }\n if (dragging.style.display !== 'none') {\n dragging.style.display = 'none';\n }\n // To avoid flicker, determine where to position the placeholder\n // based on where the mouse pointer is relative to the elements\n // vertical center.\n var placeAfter = false;\n try {\n var elementMiddleVertical = _offset(element).top + element.offsetHeight / 2;\n var elementMiddleHorizontal = _offset(element).left + element.offsetWidth / 2;\n placeAfter = (options.orientation === 'vertical' && (pageY >= elementMiddleVertical)) ||\n (options.orientation === 'horizontal' && (pageX >= elementMiddleHorizontal));\n }\n catch (e) {\n placeAfter = placeholderIndex < thisIndex;\n }\n if (placeAfter) {\n insertAfter(element, store(sortableElement).placeholder);\n }\n else {\n insertBefore(element, store(sortableElement).placeholder);\n }\n // get placeholders from all stores & remove all but current one\n Array.from(stores.values())\n // remove empty values\n .filter(function (data) { return data.placeholder !== undefined; })\n // foreach placeholder in array if outside of current sorableContainer -> remove from DOM\n .forEach(function (data) {\n if (data.placeholder !== store(sortableElement).placeholder) {\n data.placeholder.remove();\n }\n });\n }\n else {\n // get all placeholders from store\n var placeholders = Array.from(stores.values())\n .filter(function (data) { return data.placeholder !== undefined; })\n .map(function (data) {\n return data.placeholder;\n });\n // check if element is not in placeholders\n if (placeholders.indexOf(element) === -1 && sortableElement === element && !_filter(element.children, options.items).length) {\n placeholders.forEach(function (element) { return element.remove(); });\n element.appendChild(store(sortableElement).placeholder);\n }\n }\n }, options.debounce);\n // Handle dragover and dragenter events on draggable items\n var onDragOverEnter = function (e) {\n var element = e.target;\n var sortableElement = element.isSortable === true ? element : findSortable(element, e);\n element = findDragElement(sortableElement, element);\n if (!dragging || !_listsConnected(sortableElement, dragging.parentElement) || addData(sortableElement, '_disabled') === 'true') {\n return;\n }\n var options = addData(sortableElement, 'opts');\n if (parseInt(options.maxItems) && _filter(sortableElement.children, addData(sortableElement, 'items')).length >= parseInt(options.maxItems) && dragging.parentElement !== sortableElement) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.dataTransfer.dropEffect = store(sortableElement).getConfig('copy') === true ? 'copy' : 'move';\n debouncedDragOverEnter(sortableElement, element, e.pageX, e.pageY);\n };\n addEventListener(listItems.concat(sortableElement), 'dragover', onDragOverEnter);\n addEventListener(listItems.concat(sortableElement), 'dragenter', onDragOverEnter);\n });\n return sortableElements;\n}\nsortable.destroy = function (sortableElement) {\n _destroySortable(sortableElement);\n};\nsortable.enable = function (sortableElement) {\n _enableSortable(sortableElement);\n};\nsortable.disable = function (sortableElement) {\n _disableSortable(sortableElement);\n};\n/* START.TESTS_ONLY */\nsortable.__testing = {\n // add internal methods here for testing purposes\n _data: addData,\n _removeItemEvents: _removeItemEvents,\n _removeItemData: _removeItemData,\n _removeSortableData: _removeSortableData,\n _removeContainerEvents: _removeContainerEvents\n};\n\nexport default sortable;\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/throttleDebounce'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/extractText'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","import app from 'flarum/admin/app';\nimport icon from 'flarum/common/helpers/icon';\nimport extractText from 'flarum/common/utils/extractText';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport Switch from 'flarum/common/components/Switch';\n\nexport default class FieldEdit extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.answer = this.attrs.answer;\n this.dirty = false;\n this.processing = false;\n }\n\n view() {\n return (\n
\n {/* Only suggested answers can be reordered */}\n {this.answer.is_suggested() && [, ' ']}\n {\n const newContent = prompt(\n extractText(app.translator.trans('fof-mason.admin.buttons.edit-answer-prompt')),\n this.answer.content()\n );\n\n if (newContent) {\n this.updateAttribute('content', newContent);\n }\n }}\n title={extractText(app.translator.trans('fof-mason.admin.buttons.edit-answer'))}\n >\n {this.answer.content()} {icon('fas fa-pen')}\n \n {\n this.updateAttribute('is_suggested', value);\n\n // Save right away, because updating the model with immediately trigger a redraw of the UI\n // And the unsaved state won't be preserved because the AnswerEdit component changes its place\n this.saveAnswer();\n }}\n >\n {app.translator.trans('fof-mason.admin.fields.is_suggested')}\n \n
\n \n {app.translator.trans('fof-mason.admin.buttons.save-answer')}\n \n \n
\n
\n );\n }\n\n updateAttribute(attribute, value) {\n this.answer.pushAttributes({\n [attribute]: value,\n });\n\n this.dirty = true;\n }\n\n readyToSave() {\n return this.dirty;\n }\n\n saveAnswer() {\n this.processing = true;\n\n this.answer\n .save(this.answer.data.attributes)\n .then(() => {\n this.processing = false;\n this.dirty = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n\n deleteAnswer() {\n if (\n !confirm(\n extractText(\n app.translator.trans('fof-mason.admin.messages.delete-answer-confirmation', {\n content: this.answer.content(),\n })\n )\n )\n ) {\n return;\n }\n\n this.processing = true;\n\n this.answer\n .delete()\n .then(() => {\n this.processing = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n}\n","export default function sortByAttribute any }, K extends string | number | symbol>(items: T[], attr: K) {\n if (!attr) attr = 'sort';\n return items.sort((a, b) => a[attr]() - b[attr]());\n}\n","import sortable from 'html5sortable/dist/html5sortable.es.js';\n\nimport app from 'flarum/admin/app';\nimport icon from 'flarum/common/helpers/icon';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport { debounce } from 'flarum/common/utils/throttleDebounce';\n\nimport AnswerEdit from './AnswerEdit';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class FieldAnswersEdit extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.field = this.attrs.field;\n this.processing = false;\n this.new_content = '';\n this.showUserAnswers = false;\n }\n\n configSortable() {\n const container = this.element.querySelector('.js-answers-container');\n\n // If the field doesn't exist, it doesn't have a field edit area\n if (!container) {\n return;\n }\n\n const el = sortable(container, {\n handle: '.js-answer-handle',\n })[0];\n\n // Prevents issue with more and more event listeners\n // being added, resulting in 100s of XHR requests.\n el.removeEventListener('sortupdate', this.sortingChanged);\n el.addEventListener('sortupdate', this.sortingChanged);\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n\n this.configSortable();\n }\n\n onupdate() {\n this.configSortable();\n }\n\n view() {\n if (!this.field.exists) {\n return
{app.translator.trans('fof-mason.admin.fields.save-field-for-answers')}
;\n }\n\n let suggestedAnswers = [];\n let userAnswers = [];\n\n (this.field.allAnswers() || []).forEach((answer) => {\n // When answers are deleted via store.delete() they stay as an \"undefined\" relationship\n // We ignore these deleted answers\n if (typeof answer === 'undefined') {\n return;\n }\n\n if (answer.is_suggested()) {\n suggestedAnswers.push(answer);\n } else {\n userAnswers.push(answer);\n }\n });\n\n return [\n
\n
\n {sortByAttribute(suggestedAnswers).map((answer) => (\n
\n \n
\n ))}\n
\n {userAnswers.length && (\n <>\n {\n this.showUserAnswers = !this.showUserAnswers;\n }}\n >\n
\n {app.translator.trans('fof-mason.admin.buttons.show-user-answers', {\n count: userAnswers.length,\n })}\n
\n
{icon('fas fa-chevron-' + (this.showUserAnswers ? 'up' : 'down'))}
\n \n {this.showUserAnswers && (\n
\n {sortByAttribute(userAnswers, 'content').map((answer) => (\n
\n \n
\n ))}\n
\n )}\n \n )}\n
,\n
\n \n
,\n
\n \n
,\n ];\n }\n\n saveField() {\n this.processing = true;\n\n app.request({\n method: 'POST',\n url: app.forum.attribute('apiUrl') + this.field.apiEndpoint() + '/answers',\n body: {\n data: {\n attributes: {\n content: this.new_content,\n is_suggested: true,\n },\n },\n },\n }).then((result) => {\n app.store.pushPayload(result);\n\n this.new_content = '';\n this.processing = false;\n m.redraw();\n });\n }\n\n sortingChanged = debounce(500, () => {\n const sorting = this.$('.js-answer-data')\n .map(function () {\n return $(this).data('id');\n })\n .get();\n\n this.updateSort(sorting);\n });\n\n updateSort(sorting) {\n app.request({\n method: 'POST',\n url: app.forum.attribute('apiUrl') + this.field.apiEndpoint() + '/answers/order',\n body: {\n sort: sorting,\n },\n }).then((result) => {\n // Update sort attributes\n app.store.pushPayload(result);\n m.redraw();\n });\n }\n}\n","import app from 'flarum/admin/app';\nimport icon from 'flarum/common/helpers/icon';\nimport extractText from 'flarum/common/utils/extractText';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport Switch from 'flarum/common/components/Switch';\nimport FieldAnswersEdit from './FieldAnswersEdit';\n\nexport default class FieldEdit extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.field = this.attrs.field;\n this.dirty = false;\n this.processing = false;\n this.toggleFields = false;\n\n if (!this.field) {\n this.initNewField();\n }\n }\n\n initNewField() {\n this.field = app.store.createRecord('mason-fields', {\n attributes: {\n name: '',\n description: '',\n min_answers_count: 0,\n max_answers_count: 1, // Currently not visible in the editor\n user_values_allowed: false,\n show_when_empty: false,\n validation: '',\n icon: '',\n },\n });\n }\n\n boxTitle() {\n if (this.field.exists) {\n return this.field.name();\n }\n\n return app.translator.trans('fof-mason.admin.buttons.new-field');\n }\n\n view() {\n return (\n
\n {this.field.exists && }\n {\n this.toggleFields = !this.toggleFields;\n }}\n >\n
{this.boxTitle()}
\n
\n {this.field.exists && app.translator.trans('fof-mason.admin.buttons.edit-field') + ' '}\n {icon('fas fa-chevron-' + (this.toggleFields ? 'up' : 'down'))}\n
\n \n {this.toggleFields && this.viewFields()}\n
\n );\n }\n\n viewFields() {\n return [\n
\n
\n

{app.translator.trans('fof-mason.admin.titles.field-settings')}

\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
{app.translator.trans('fof-mason.admin.fields.show_when_empty-help')}
\n
\n
\n \n
{app.translator.trans('fof-mason.admin.fields.user_values_allowed-help')}
\n
\n
\n \n
\n \n
\n

{app.translator.trans('fof-mason.admin.titles.field-answers')}

\n
\n \n
\n
\n
\n
,\n
\n \n {app.translator.trans('fof-mason.admin.buttons.' + (this.field.exists ? 'save' : 'add') + '-field')}\n \n\n {this.field.exists && (\n \n )}\n
,\n ];\n }\n\n updateAttribute(attribute, value) {\n this.field.pushAttributes({\n [attribute]: value,\n });\n\n this.dirty = true;\n }\n\n readyToSave() {\n // TODO: check required fields\n return this.dirty;\n }\n\n saveField() {\n this.processing = true;\n\n const createNewRecord = !this.field.exists;\n\n this.field\n .save(this.field.data.attributes)\n .then(() => {\n if (createNewRecord) {\n this.initNewField();\n this.toggleFields = false;\n }\n\n this.processing = false;\n this.dirty = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n\n deleteField() {\n if (\n !confirm(\n extractText(\n app.translator.trans('fof-mason.admin.messages.delete-field-confirmation', {\n name: this.field.name(),\n })\n )\n )\n ) {\n return;\n }\n\n this.processing = true;\n\n this.field\n .delete()\n .then(() => {\n this.processing = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n\n iconPreview(value) {\n if (!value) {\n return '';\n }\n\n return [\n ' (',\n app.translator.trans('fof-mason.admin.fields.icon-preview', {\n preview: icon(value),\n }),\n ')',\n ];\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/saveSettings'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Select'];","import app from 'flarum/admin/app';\nimport saveSettings from 'flarum/common/utils/saveSettings';\nimport Component from 'flarum/common/Component';\nimport Select from 'flarum/common/components/Select';\nimport Switch from 'flarum/common/components/Switch';\n\nexport default class MasonSettings extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fieldsSectionTitle = app.data.settings['fof-mason.fields-section-title'] || '';\n this.columnCount = app.data.settings['fof-mason.column-count'] || 1;\n this.labelsAsPlaceholders = app.data.settings['fof-mason.labels-as-placeholders'] > 0;\n this.fieldsInHero = app.data.settings['fof-mason.fields-in-hero'] > 0;\n this.hideEmptyFieldsSection = app.data.settings['fof-mason.hide-empty-fields-section'] > 0;\n this.tagsAsFields = app.data.settings['fof-mason.tags-as-fields'] > 0;\n this.tagsFieldName = app.data.settings['fof-mason.tags-field-name'] || '';\n\n this.columnOptions = {};\n\n for (let i = 1; i <= 3; i++) {\n this.columnOptions[i] = app.translator.trans('fof-mason.admin.settings.n-columns', { count: i });\n }\n }\n\n view() {\n return (\n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.fields-section-title-help')}
\n
\n
\n \n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.labels-as-placeholders-help')}
\n
\n
\n \n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.hide-empty-fields-section-help')}
\n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.tags-as-field-help')}
\n
\n {this.tagsAsFields && (\n
\n \n {\n this.updateSetting('tagsFieldName', 'fof-mason.tags-field-name', event.target.value);\n }}\n />\n
\n )}\n
\n );\n }\n\n /**\n * Updates setting in database.\n * @param attribute\n * @param setting\n * @param value\n */\n updateSetting(attribute, setting, value) {\n saveSettings({\n [setting]: value,\n });\n\n this[attribute] = value;\n }\n}\n","import sortable from 'html5sortable/dist/html5sortable.es.js';\n\nimport app from 'flarum/admin/app';\nimport ExtensionPage from 'flarum/admin/components/ExtensionPage';\nimport { debounce } from 'flarum/common/utils/throttleDebounce';\n\nimport FieldEdit from '../components/FieldEdit';\nimport MasonSettings from '../components/MasonSettings';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class MasonFieldsPage extends ExtensionPage {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.request({\n method: 'GET',\n url: app.forum.attribute('apiUrl') + '/fof/mason/fields',\n }).then((result) => {\n app.store.pushPayload(result);\n m.redraw();\n });\n }\n\n configSortable() {\n const el = sortable(this.element.querySelector('.js-fields-container'), {\n handle: '.js-field-handle',\n })[0];\n\n // Prevents issue with more and more event listeners\n // being added, resulting in 100s of XHR requests.\n el.removeEventListener('sortupdate', this.sortingChanged);\n el.addEventListener('sortupdate', this.sortingChanged);\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n\n this.configSortable();\n }\n\n onupdate() {\n this.configSortable();\n }\n\n content() {\n const fields = app.store.all('mason-fields');\n\n let fieldsList = [];\n\n sortByAttribute(fields).forEach((field) => {\n // Build array of fields to show.\n fieldsList.push(\n
\n \n
\n );\n });\n\n return (\n
\n
\n

{app.translator.trans('fof-mason.admin.titles.fields')}

\n
\n
{fieldsList}
\n \n
\n

{app.translator.trans('fof-mason.admin.titles.settings')}

\n \n
\n
\n );\n }\n\n updateSort(sorting) {\n app.request({\n method: 'POST',\n url: app.forum.attribute('apiUrl') + '/fof/mason/fields/order',\n body: {\n sort: sorting,\n },\n }).then((result) => {\n // Update sort attributes\n app.store.pushPayload(result);\n m.redraw();\n });\n }\n\n sortingChanged = debounce(500, () => {\n const sorting = this.$('.js-field-data')\n .map(function () {\n return $(this).data('id');\n })\n .get();\n\n this.updateSort(sorting);\n });\n}\n","import app from 'flarum/admin/app';\n\nimport Answer from '@common/models/Answer';\nimport Field from '@common/models/Field';\nimport MasonFieldsPage from './pages/MasonFieldsPage';\n\napp.initializers.add('fof-mason', () => {\n app.store.models['mason-fields'] = Field;\n app.store.models['mason-answers'] = Answer;\n\n app.extensionData\n .for('fof-mason')\n .registerPage(MasonFieldsPage)\n .registerPermission(\n {\n icon: 'fas fa-eye',\n label: app.translator.trans('fof-mason.admin.permissions.see-own-fields'),\n permission: 'fof-mason.see-own-fields',\n },\n 'view'\n )\n .registerPermission(\n {\n icon: 'fas fa-eye',\n label: app.translator.trans('fof-mason.admin.permissions.see-other-fields'),\n permission: 'fof-mason.see-other-fields',\n allowGuest: true,\n },\n 'view'\n )\n .registerPermission(\n {\n icon: 'fas fa-tasks',\n label: app.translator.trans('fof-mason.admin.permissions.fill-fields'),\n permission: 'fof-mason.fill-fields',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'fas fa-edit',\n label: app.translator.trans('fof-mason.admin.permissions.update-own-fields'),\n permission: 'fof-mason.update-own-fields',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'fas fa-edit',\n label: app.translator.trans('fof-mason.admin.permissions.update-other-fields'),\n permission: 'fof-mason.update-other-fields',\n allowGuest: true,\n },\n 'moderate'\n )\n .registerPermission(\n {\n icon: 'fas fa-forward',\n label: app.translator.trans('fof-mason.admin.permissions.skip-required-fields'),\n permission: 'fof-mason.skip-required-fields',\n },\n 'moderate'\n );\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","create","constructor","Answer","content","Model","is_suggested","sort","field","apiEndpoint","this","exists","data","id","Field","name","description","min_answers_count","max_answers_count","show_when_empty","user_values_allowed","validation","icon","deleted_at","allAnswers","suggestedAnswers","required","computed","multiple","addData","element","undefined","h5s","_filter","nodes","selector","NodeList","HTMLCollection","Array","Error","from","filter","item","nodeType","matches","stores","Map","Store","_config","_placeholder","_data","config","forEach","set","mergedConfig","assign","entries","configurable","setConfig","has","getConfig","placeholder","HTMLElement","setData","getData","deleteData","store","sortableElement","addEventListener","eventName","callback","i","length","removeEventListener","addAttribute","attribute","setAttribute","removeAttribute","dragging","draggingHeight","draggingWidth","originContainer","originIndex","originElementIndex","originItemsBeforeUpdate","previousContainer","destinationItemsBeforeUpdate","_offset","parentElement","getClientRects","rect","left","window","pageXOffset","right","top","pageYOffset","bottom","_index","elementList","indexOf","isInDom","parentNode","insertNode","referenceNode","newElement","position","insertBefore","nextElementSibling","insertAfter","target","_getElementHeight","style","getComputedStyle","getPropertyValue","parseInt","map","int","isNaN","reduce","sum","_getElementWidth","_getHandles","items","querySelector","shadowRoot","getEventTarget","event","composedPath","defaultDragImage","draggedElement","elementOffset","posX","pageX","posY","pageY","_listsConnected","destination","origin","isSortable","acceptFrom","split","sel","defaultConfiguration","connectWith","disableIEFix","copy","placeholderClass","draggingClass","hoverClass","dropTargetContainerClass","debounce","throttleTime","maxItems","itemSerializer","containerSerializer","customDragImage","orientation","_removeItemEvents","_removeContainerEvents","_removeSortableData","sortable","_removeItemData","findSortable","find","el","findDragElement","options","itemlist","children","ele","contains","_enableSortable","opts","handles","handle","document","createElement","dragDrop","parent","sortableElements","method","String","querySelectorAll","slice","test","sortableContainer","customItemSerializer","customContainerSerializer","serializedItem","serializedContainer","serializedItems","node","html","outerHTML","index","container","itemCount","_serialize","configKey","console","warn","_reloadSortable","customPlaceholder","listItems","tempContainer","tagName","appendChild","innerHTML","_a","includes","classList","add","apply","_makePlaceholder","enable","hoverClasses_1","fn","threshold","_this","lastEventTimestamp","args","_i","arguments","now","Date","_throttle","buttons","_b","remove","enableHoverClass","e","stopImmediatePropagation","getAttribute","dragItem","Event","dataTransfer","setDragImage","dragImage","effectAllowed","draggedItem","ditem","cloneNode","display","oldDisplay","_getDragging","dispatchEvent","CustomEvent","detail","elementIndex","originalTarget","itemsBeforeUpdate","outTarget","relatedTarget","fromElement","currentTarget","visiblePlaceholder","values","preventDefault","stopPropagation","originItems","destinationContainer","destinationItems","destinationElementIndex","destinationIndex","func","wait","timeout","debouncedDragOverEnter","forcePlaceholderSize","height","width","thisHeight","thisWidth","placeholderIndex","thisIndex","deadZoneVertical","deadZoneHorizontal","offsetTop","offsetLeft","placeAfter","elementMiddleVertical","offsetHeight","elementMiddleHorizontal","offsetWidth","placeholders","clearTimeout","setTimeout","onDragOverEnter","dropEffect","concat","destroy","_destroySortable","disable","_disableSortable","__testing","FieldEdit","oninit","vnode","answer","attrs","dirty","processing","view","className","onclick","newContent","prompt","extractText","app","updateAttribute","title","state","onchange","saveAnswer","loading","disabled","readyToSave","deleteAnswer","pushAttributes","save","attributes","then","m","redraw","err","confirm","Component","sortByAttribute","attr","b","FieldAnswersEdit","sortingChanged","sorting","$","updateSort","new_content","showUserAnswers","configSortable","oncreate","onupdate","userAnswers","push","count","oninput","saveField","url","body","result","toggleFields","initNewField","boxTitle","viewFields","val","href","iconPreview","deleteField","createNewRecord","preview","MasonSettings","fieldsSectionTitle","columnCount","labelsAsPlaceholders","fieldsInHero","hideEmptyFieldsSection","tagsAsFields","tagsFieldName","columnOptions","updateSetting","setting","saveSettings","MasonFieldsPage","fields","fieldsList","ExtensionPage","registerPage","registerPermission","label","permission","allowGuest"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"admin.js","mappings":"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","sources":["webpack://@fof/mason/webpack/bootstrap","webpack://@fof/mason/webpack/runtime/compat get default export","webpack://@fof/mason/webpack/runtime/define property getters","webpack://@fof/mason/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/mason/webpack/runtime/make namespace object","webpack://@fof/mason/external root \"flarum.core.compat['admin/app']\"","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/mason/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/mason/./src/common/models/Answer.ts","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/mason/./src/common/models/Field.ts","webpack://@fof/mason/./node_modules/html5sortable/dist/html5sortable.es.js","webpack://@fof/mason/external root \"flarum.core.compat['admin/components/ExtensionPage']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/throttleDebounce']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/extractText']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Switch']\"","webpack://@fof/mason/./src/admin/components/AnswerEdit.js","webpack://@fof/mason/./src/common/helpers/sortByAttribute.ts","webpack://@fof/mason/./src/admin/components/FieldAnswersEdit.js","webpack://@fof/mason/./src/admin/components/FieldEdit.js","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/saveSettings']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Select']\"","webpack://@fof/mason/./src/admin/components/MasonSettings.js","webpack://@fof/mason/./src/admin/pages/MasonFieldsPage.js","webpack://@fof/mason/./src/admin/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/app'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","import Model from 'flarum/common/Model';\nimport Field from './Field';\n\nexport default class Answer extends Model {\n content = Model.attribute('content');\n is_suggested = Model.attribute('is_suggested');\n sort = Model.attribute('sort');\n field = Model.hasOne('field');\n\n apiEndpoint() {\n return '/fof/mason/answers' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","import Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport Answer from './Answer';\n\nexport default class Field extends Model {\n name = Model.attribute('name');\n description = Model.attribute('description');\n min_answers_count = Model.attribute('min_answers_count');\n max_answers_count = Model.attribute('max_answers_count');\n show_when_empty = Model.attribute('show_when_empty');\n user_values_allowed = Model.attribute('user_values_allowed');\n validation = Model.attribute('validation');\n icon = Model.attribute('icon');\n sort = Model.attribute('sort');\n deleted_at = Model.attribute('deleted_at', Model.transformDate);\n allAnswers = Model.hasMany('allAnswers');\n suggestedAnswers = Model.hasMany('suggestedAnswers');\n required = computed('min_answers_count', (min_answers_count) => min_answers_count > 0);\n multiple = computed('max_answers_count', (max_answers_count) => max_answers_count > 1);\n\n apiEndpoint() {\n return '/fof/mason/fields' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","/*\n * HTML5Sortable package\n * https://github.com/lukasoppermann/html5sortable\n *\n * Maintained by Lukas Oppermann \n *\n * Released under the MIT license.\n */\n/**\n * Get or set data on element\n * @param {HTMLElement} element\n * @param {string} key\n * @param {any} value\n * @return {*}\n */\nfunction addData(element, key, value) {\n if (value === undefined) {\n return element && element.h5s && element.h5s.data && element.h5s.data[key];\n }\n else {\n element.h5s = element.h5s || {};\n element.h5s.data = element.h5s.data || {};\n element.h5s.data[key] = value;\n }\n}\n/**\n * Remove data from element\n * @param {HTMLElement} element\n */\nfunction removeData(element) {\n if (element.h5s) {\n delete element.h5s.data;\n }\n}\n\n/* eslint-env browser */\n/**\n * Filter only wanted nodes\n * @param {NodeList|HTMLCollection|Array} nodes\n * @param {String} selector\n * @returns {Array}\n */\nvar _filter = (function (nodes, selector) {\n if (!(nodes instanceof NodeList || nodes instanceof HTMLCollection || nodes instanceof Array)) {\n throw new Error('You must provide a nodeList/HTMLCollection/Array of elements to be filtered.');\n }\n if (typeof selector !== 'string') {\n return Array.from(nodes);\n }\n return Array.from(nodes).filter(function (item) { return item.nodeType === 1 && item.matches(selector); });\n});\n\n/* eslint-env browser */\nvar stores = new Map();\n/**\n * Stores data & configurations per Sortable\n * @param {Object} config\n */\nvar Store = /** @class */ (function () {\n function Store() {\n this._config = new Map(); // eslint-disable-line no-undef\n this._placeholder = undefined; // eslint-disable-line no-undef\n this._data = new Map(); // eslint-disable-line no-undef\n }\n Object.defineProperty(Store.prototype, \"config\", {\n /**\n * get the configuration map of a class instance\n * @method config\n * @return {object}\n */\n get: function () {\n // transform Map to object\n var config = {};\n this._config.forEach(function (value, key) {\n config[key] = value;\n });\n // return object\n return config;\n },\n /**\n * set the configuration of a class instance\n * @method config\n * @param {object} config object of configurations\n */\n set: function (config) {\n if (typeof config !== 'object') {\n throw new Error('You must provide a valid configuration object to the config setter.');\n }\n // combine config with default\n var mergedConfig = Object.assign({}, config);\n // add config to map\n this._config = new Map(Object.entries(mergedConfig));\n },\n enumerable: false,\n configurable: true\n });\n /**\n * set individual configuration of a class instance\n * @method setConfig\n * @param key valid configuration key\n * @param value any value\n * @return void\n */\n Store.prototype.setConfig = function (key, value) {\n if (!this._config.has(key)) {\n throw new Error(\"Trying to set invalid configuration item: \" + key);\n }\n // set config\n this._config.set(key, value);\n };\n /**\n * get an individual configuration of a class instance\n * @method getConfig\n * @param key valid configuration key\n * @return any configuration value\n */\n Store.prototype.getConfig = function (key) {\n if (!this._config.has(key)) {\n throw new Error(\"Invalid configuration item requested: \" + key);\n }\n return this._config.get(key);\n };\n Object.defineProperty(Store.prototype, \"placeholder\", {\n /**\n * get the placeholder for a class instance\n * @method placeholder\n * @return {HTMLElement|null}\n */\n get: function () {\n return this._placeholder;\n },\n /**\n * set the placeholder for a class instance\n * @method placeholder\n * @param {HTMLElement} placeholder\n * @return {void}\n */\n set: function (placeholder) {\n if (!(placeholder instanceof HTMLElement) && placeholder !== null) {\n throw new Error('A placeholder must be an html element or null.');\n }\n this._placeholder = placeholder;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * set an data entry\n * @method setData\n * @param {string} key\n * @param {any} value\n * @return {void}\n */\n Store.prototype.setData = function (key, value) {\n if (typeof key !== 'string') {\n throw new Error('The key must be a string.');\n }\n this._data.set(key, value);\n };\n /**\n * get an data entry\n * @method getData\n * @param {string} key an existing key\n * @return {any}\n */\n Store.prototype.getData = function (key) {\n if (typeof key !== 'string') {\n throw new Error('The key must be a string.');\n }\n return this._data.get(key);\n };\n /**\n * delete an data entry\n * @method deleteData\n * @param {string} key an existing key\n * @return {boolean}\n */\n Store.prototype.deleteData = function (key) {\n if (typeof key !== 'string') {\n throw new Error('The key must be a string.');\n }\n return this._data.delete(key);\n };\n return Store;\n}());\n/**\n * @param {HTMLElement} sortableElement\n * @returns {Class: Store}\n */\nvar store = (function (sortableElement) {\n // if sortableElement is wrong type\n if (!(sortableElement instanceof HTMLElement)) {\n throw new Error('Please provide a sortable to the store function.');\n }\n // create new instance if not avilable\n if (!stores.has(sortableElement)) {\n stores.set(sortableElement, new Store());\n }\n // return instance\n return stores.get(sortableElement);\n});\n\n/**\n * @param {Array|HTMLElement} element\n * @param {Function} callback\n * @param {string} event\n */\nfunction addEventListener(element, eventName, callback) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n addEventListener(element[i], eventName, callback);\n }\n return;\n }\n element.addEventListener(eventName, callback);\n store(element).setData(\"event\" + eventName, callback);\n}\n/**\n * @param {Array|HTMLElement} element\n * @param {string} eventName\n */\nfunction removeEventListener(element, eventName) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n removeEventListener(element[i], eventName);\n }\n return;\n }\n element.removeEventListener(eventName, store(element).getData(\"event\" + eventName));\n store(element).deleteData(\"event\" + eventName);\n}\n\n/**\n * @param {Array|HTMLElement} element\n * @param {string} attribute\n * @param {string} value\n */\nfunction addAttribute(element, attribute, value) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n addAttribute(element[i], attribute, value);\n }\n return;\n }\n element.setAttribute(attribute, value);\n}\n/**\n * @param {Array|HTMLElement} element\n * @param {string} attribute\n */\nfunction removeAttribute(element, attribute) {\n if (element instanceof Array) {\n for (var i = 0; i < element.length; ++i) {\n removeAttribute(element[i], attribute);\n }\n return;\n }\n element.removeAttribute(attribute);\n}\n\n/**\n * @param {HTMLElement} element\n * @returns {Object}\n */\nvar _offset = (function (element) {\n if (!element.parentElement || element.getClientRects().length === 0) {\n throw new Error('target element must be part of the dom');\n }\n var rect = element.getClientRects()[0];\n return {\n left: rect.left + window.pageXOffset,\n right: rect.right + window.pageXOffset,\n top: rect.top + window.pageYOffset,\n bottom: rect.bottom + window.pageYOffset\n };\n});\n\n/**\n * Creates and returns a new debounced version of the passed function which will postpone its execution until after wait milliseconds have elapsed\n * @param {Function} func to debounce\n * @param {number} time to wait before calling function with latest arguments, 0 - no debounce\n * @returns {function} - debounced function\n */\nvar _debounce = (function (func, wait) {\n if (wait === void 0) { wait = 0; }\n var timeout;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n func.apply(void 0, args);\n }, wait);\n };\n});\n\n/* eslint-env browser */\n/**\n * Get position of the element relatively to its sibling elements\n * @param {HTMLElement} element\n * @returns {number}\n */\nvar _index = (function (element, elementList) {\n if (!(element instanceof HTMLElement) || !(elementList instanceof NodeList || elementList instanceof HTMLCollection || elementList instanceof Array)) {\n throw new Error('You must provide an element and a list of elements.');\n }\n return Array.from(elementList).indexOf(element);\n});\n\n/* eslint-env browser */\n/**\n * Test whether element is in DOM\n * @param {HTMLElement} element\n * @returns {boolean}\n */\nvar isInDom = (function (element) {\n if (!(element instanceof HTMLElement)) {\n throw new Error('Element is not a node element.');\n }\n return element.parentNode !== null;\n});\n\n/* eslint-env browser */\n/**\n * Insert node before or after target\n * @param {HTMLElement} referenceNode - reference element\n * @param {HTMLElement} newElement - element to be inserted\n * @param {String} position - insert before or after reference element\n */\nvar insertNode = function (referenceNode, newElement, position) {\n if (!(referenceNode instanceof HTMLElement) || !(referenceNode.parentElement instanceof HTMLElement)) {\n throw new Error('target and element must be a node');\n }\n referenceNode.parentElement.insertBefore(newElement, (position === 'before' ? referenceNode : referenceNode.nextElementSibling));\n};\n/**\n * Insert before target\n * @param {HTMLElement} target\n * @param {HTMLElement} element\n */\nvar insertBefore = function (target, element) { return insertNode(target, element, 'before'); };\n/**\n * Insert after target\n * @param {HTMLElement} target\n * @param {HTMLElement} element\n */\nvar insertAfter = function (target, element) { return insertNode(target, element, 'after'); };\n\n/* eslint-env browser */\n/**\n * Filter only wanted nodes\n * @param {HTMLElement} sortableContainer\n * @param {Function} customSerializer\n * @returns {Array}\n */\nvar _serialize = (function (sortableContainer, customItemSerializer, customContainerSerializer) {\n if (customItemSerializer === void 0) { customItemSerializer = function (serializedItem, sortableContainer) { return serializedItem; }; }\n if (customContainerSerializer === void 0) { customContainerSerializer = function (serializedContainer) { return serializedContainer; }; }\n // check for valid sortableContainer\n if (!(sortableContainer instanceof HTMLElement) || !sortableContainer.isSortable === true) {\n throw new Error('You need to provide a sortableContainer to be serialized.');\n }\n // check for valid serializers\n if (typeof customItemSerializer !== 'function' || typeof customContainerSerializer !== 'function') {\n throw new Error('You need to provide a valid serializer for items and the container.');\n }\n // get options\n var options = addData(sortableContainer, 'opts');\n var item = options.items;\n // serialize container\n var items = _filter(sortableContainer.children, item);\n var serializedItems = items.map(function (item) {\n return {\n parent: sortableContainer,\n node: item,\n html: item.outerHTML,\n index: _index(item, items)\n };\n });\n // serialize container\n var container = {\n node: sortableContainer,\n itemCount: serializedItems.length\n };\n return {\n container: customContainerSerializer(container),\n items: serializedItems.map(function (item) { return customItemSerializer(item, sortableContainer); })\n };\n});\n\n/* eslint-env browser */\n/**\n * create a placeholder element\n * @param {HTMLElement} sortableElement a single sortable\n * @param {string|undefined} placeholder a string representing an html element\n * @param {string} placeholderClasses a string representing the classes that should be added to the placeholder\n */\nvar _makePlaceholder = (function (sortableElement, placeholder, placeholderClass) {\n var _a;\n if (placeholderClass === void 0) { placeholderClass = 'sortable-placeholder'; }\n if (!(sortableElement instanceof HTMLElement)) {\n throw new Error('You must provide a valid element as a sortable.');\n }\n // if placeholder is not an element\n if (!(placeholder instanceof HTMLElement) && placeholder !== undefined) {\n throw new Error('You must provide a valid element as a placeholder or set ot to undefined.');\n }\n // if no placeholder element is given\n if (placeholder === undefined) {\n if (['UL', 'OL'].includes(sortableElement.tagName)) {\n placeholder = document.createElement('li');\n }\n else if (['TABLE', 'TBODY'].includes(sortableElement.tagName)) {\n placeholder = document.createElement('tr');\n // set colspan to always all rows, otherwise the item can only be dropped in first column\n placeholder.innerHTML = '';\n }\n else {\n placeholder = document.createElement('div');\n }\n }\n // add classes to placeholder\n if (typeof placeholderClass === 'string') {\n (_a = placeholder.classList).add.apply(_a, placeholderClass.split(' '));\n }\n return placeholder;\n});\n\n/* eslint-env browser */\n/**\n * Get height of an element including padding\n * @param {HTMLElement} element an dom element\n */\nvar _getElementHeight = (function (element) {\n if (!(element instanceof HTMLElement)) {\n throw new Error('You must provide a valid dom element');\n }\n // get calculated style of element\n var style = window.getComputedStyle(element);\n // get only height if element has box-sizing: border-box specified\n if (style.getPropertyValue('box-sizing') === 'border-box') {\n return parseInt(style.getPropertyValue('height'), 10);\n }\n // pick applicable properties, convert to int and reduce by adding\n return ['height', 'padding-top', 'padding-bottom']\n .map(function (key) {\n var int = parseInt(style.getPropertyValue(key), 10);\n return isNaN(int) ? 0 : int;\n })\n .reduce(function (sum, value) { return sum + value; });\n});\n\n/* eslint-env browser */\n/**\n * Get width of an element including padding\n * @param {HTMLElement} element an dom element\n */\nvar _getElementWidth = (function (element) {\n if (!(element instanceof HTMLElement)) {\n throw new Error('You must provide a valid dom element');\n }\n // get calculated style of element\n var style = window.getComputedStyle(element);\n // pick applicable properties, convert to int and reduce by adding\n return ['width', 'padding-left', 'padding-right']\n .map(function (key) {\n var int = parseInt(style.getPropertyValue(key), 10);\n return isNaN(int) ? 0 : int;\n })\n .reduce(function (sum, value) { return sum + value; });\n});\n\n/* eslint-env browser */\n/**\n * get handle or return item\n * @param {Array} items\n * @param {string} selector\n */\nvar _getHandles = (function (items, selector) {\n if (!(items instanceof Array)) {\n throw new Error('You must provide a Array of HTMLElements to be filtered.');\n }\n if (typeof selector !== 'string') {\n return items;\n }\n return items\n // remove items without handle from array\n .filter(function (item) {\n return item.querySelector(selector) instanceof HTMLElement ||\n (item.shadowRoot && item.shadowRoot.querySelector(selector) instanceof HTMLElement);\n })\n // replace item with handle in array\n .map(function (item) {\n return item.querySelector(selector) || (item.shadowRoot && item.shadowRoot.querySelector(selector));\n });\n});\n\n/**\n * @param {Event} event\n * @returns {HTMLElement}\n */\nvar getEventTarget = (function (event) {\n return (event.composedPath && event.composedPath()[0]) || event.target;\n});\n\n/* eslint-env browser */\n/**\n * defaultDragImage returns the current item as dragged image\n * @param {HTMLElement} draggedElement - the item that the user drags\n * @param {object} elementOffset - an object with the offsets top, left, right & bottom\n * @param {Event} event - the original drag event object\n * @return {object} with element, posX and posY properties\n */\nvar defaultDragImage = function (draggedElement, elementOffset, event) {\n return {\n element: draggedElement,\n posX: event.pageX - elementOffset.left,\n posY: event.pageY - elementOffset.top\n };\n};\n/**\n * attaches an element as the drag image to an event\n * @param {Event} event - the original drag event object\n * @param {HTMLElement} draggedElement - the item that the user drags\n * @param {Function} customDragImage - function to create a custom dragImage\n * @return void\n */\nvar setDragImage = (function (event, draggedElement, customDragImage) {\n // check if event is provided\n if (!(event instanceof Event)) {\n throw new Error('setDragImage requires a DragEvent as the first argument.');\n }\n // check if draggedElement is provided\n if (!(draggedElement instanceof HTMLElement)) {\n throw new Error('setDragImage requires the dragged element as the second argument.');\n }\n // set default function of none provided\n if (!customDragImage) {\n customDragImage = defaultDragImage;\n }\n // check if setDragImage method is available\n if (event.dataTransfer && event.dataTransfer.setDragImage) {\n // get the elements offset\n var elementOffset = _offset(draggedElement);\n // get the dragImage\n var dragImage = customDragImage(draggedElement, elementOffset, event);\n // check if custom function returns correct values\n if (!(dragImage.element instanceof HTMLElement) || typeof dragImage.posX !== 'number' || typeof dragImage.posY !== 'number') {\n throw new Error('The customDragImage function you provided must return and object with the properties element[string], posX[integer], posY[integer].');\n }\n // needs to be set for HTML5 drag & drop to work\n event.dataTransfer.effectAllowed = 'copyMove';\n // Firefox requires it to use the event target's id for the data\n event.dataTransfer.setData('text/plain', getEventTarget(event).id);\n // set the drag image on the event\n event.dataTransfer.setDragImage(dragImage.element, dragImage.posX, dragImage.posY);\n }\n});\n\n/**\n * Check if curList accepts items from destList\n * @param {sortable} destination the container an item is move to\n * @param {sortable} origin the container an item comes from\n */\nvar _listsConnected = (function (destination, origin) {\n // check if valid sortable\n if (destination.isSortable === true) {\n var acceptFrom = store(destination).getConfig('acceptFrom');\n // check if acceptFrom is valid\n if (acceptFrom !== null && acceptFrom !== false && typeof acceptFrom !== 'string') {\n throw new Error('HTML5Sortable: Wrong argument, \"acceptFrom\" must be \"null\", \"false\", or a valid selector string.');\n }\n if (acceptFrom !== null) {\n return acceptFrom !== false && acceptFrom.split(',').filter(function (sel) {\n return sel.length > 0 && origin.matches(sel);\n }).length > 0;\n }\n // drop in same list\n if (destination === origin) {\n return true;\n }\n // check if lists are connected with connectWith\n if (store(destination).getConfig('connectWith') !== undefined && store(destination).getConfig('connectWith') !== null) {\n return store(destination).getConfig('connectWith') === store(origin).getConfig('connectWith');\n }\n }\n return false;\n});\n\n/**\n * default configurations\n */\nvar defaultConfiguration = {\n items: null,\n // deprecated\n connectWith: null,\n // deprecated\n disableIEFix: null,\n acceptFrom: null,\n copy: false,\n placeholder: null,\n placeholderClass: 'sortable-placeholder',\n draggingClass: 'sortable-dragging',\n hoverClass: false,\n dropTargetContainerClass: false,\n debounce: 0,\n throttleTime: 100,\n maxItems: 0,\n itemSerializer: undefined,\n containerSerializer: undefined,\n customDragImage: null,\n orientation: 'vertical'\n};\n\n/**\n * make sure a function is only called once within the given amount of time\n * @param {Function} fn the function to throttle\n * @param {number} threshold time limit for throttling\n */\n// must use function to keep this context\nfunction _throttle (fn, threshold) {\n var _this = this;\n if (threshold === void 0) { threshold = 250; }\n // check function\n if (typeof fn !== 'function') {\n throw new Error('You must provide a function as the first argument for throttle.');\n }\n // check threshold\n if (typeof threshold !== 'number') {\n throw new Error('You must provide a number as the second argument for throttle.');\n }\n var lastEventTimestamp = null;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var now = Date.now();\n if (lastEventTimestamp === null || now - lastEventTimestamp >= threshold) {\n lastEventTimestamp = now;\n fn.apply(_this, args);\n }\n };\n}\n\n/* eslint-env browser */\n/**\n * enable or disable hoverClass on mouseenter/leave if container Items\n * @param {sortable} sortableContainer a valid sortableContainer\n * @param {boolean} enable enable or disable event\n */\n// export default (sortableContainer: sortable, enable: boolean) => {\nvar enableHoverClass = (function (sortableContainer, enable) {\n if (typeof store(sortableContainer).getConfig('hoverClass') === 'string') {\n var hoverClasses_1 = store(sortableContainer).getConfig('hoverClass').split(' ');\n // add class on hover\n if (enable === true) {\n addEventListener(sortableContainer, 'mousemove', _throttle(function (event) {\n // check of no mouse button was pressed when mousemove started == no drag\n if (event.buttons === 0) {\n _filter(sortableContainer.children, store(sortableContainer).getConfig('items')).forEach(function (item) {\n var _a, _b;\n if (item !== event.target) {\n (_a = item.classList).remove.apply(_a, hoverClasses_1);\n }\n else {\n (_b = item.classList).add.apply(_b, hoverClasses_1);\n }\n });\n }\n }, store(sortableContainer).getConfig('throttleTime')));\n // remove class on leave\n addEventListener(sortableContainer, 'mouseleave', function () {\n _filter(sortableContainer.children, store(sortableContainer).getConfig('items')).forEach(function (item) {\n var _a;\n (_a = item.classList).remove.apply(_a, hoverClasses_1);\n });\n });\n // remove events\n }\n else {\n removeEventListener(sortableContainer, 'mousemove');\n removeEventListener(sortableContainer, 'mouseleave');\n }\n }\n});\n\n/* eslint-env browser */\n/*\n * variables global to the plugin\n */\nvar dragging;\nvar draggingHeight;\nvar draggingWidth;\n/*\n * Keeps track of the initialy selected list, where 'dragstart' event was triggered\n * It allows us to move the data in between individual Sortable List instances\n */\n// Origin List - data from before any item was changed\nvar originContainer;\nvar originIndex;\nvar originElementIndex;\nvar originItemsBeforeUpdate;\n// Previous Sortable Container - we dispatch as sortenter event when a\n// dragged item enters a sortableContainer for the first time\nvar previousContainer;\n// Destination List - data from before any item was changed\nvar destinationItemsBeforeUpdate;\n/**\n * remove event handlers from items\n * @param {Array|NodeList} items\n */\nvar _removeItemEvents = function (items) {\n removeEventListener(items, 'dragstart');\n removeEventListener(items, 'dragend');\n removeEventListener(items, 'dragover');\n removeEventListener(items, 'dragenter');\n removeEventListener(items, 'drop');\n removeEventListener(items, 'mouseenter');\n removeEventListener(items, 'mouseleave');\n};\n// Remove container events\nvar _removeContainerEvents = function (originContainer, previousContainer) {\n if (originContainer) {\n removeEventListener(originContainer, 'dragleave');\n }\n if (previousContainer && (previousContainer !== originContainer)) {\n removeEventListener(previousContainer, 'dragleave');\n }\n};\n/**\n * _getDragging returns the current element to drag or\n * a copy of the element.\n * Is Copy Active for sortable\n * @param {HTMLElement} draggedItem - the item that the user drags\n * @param {HTMLElement} sortable a single sortable\n */\nvar _getDragging = function (draggedItem, sortable) {\n var ditem = draggedItem;\n if (store(sortable).getConfig('copy') === true) {\n ditem = draggedItem.cloneNode(true);\n addAttribute(ditem, 'aria-copied', 'true');\n draggedItem.parentElement.appendChild(ditem);\n ditem.style.display = 'none';\n ditem.oldDisplay = draggedItem.style.display;\n }\n return ditem;\n};\n/**\n * Remove data from sortable\n * @param {HTMLElement} sortable a single sortable\n */\nvar _removeSortableData = function (sortable) {\n removeData(sortable);\n removeAttribute(sortable, 'aria-dropeffect');\n};\n/**\n * Remove data from items\n * @param {Array|HTMLElement} items\n */\nvar _removeItemData = function (items) {\n removeAttribute(items, 'aria-grabbed');\n removeAttribute(items, 'aria-copied');\n removeAttribute(items, 'draggable');\n removeAttribute(items, 'role');\n};\n/**\n * find sortable from element. travels up parent element until found or null.\n * @param {HTMLElement} element a single sortable\n * @param {Event} event - the current event. We need to pass it to be able to\n * find Sortable whith shadowRoot (document fragment has no parent)\n */\nfunction findSortable(element, event) {\n if (event.composedPath) {\n return event.composedPath().find(function (el) { return el.isSortable; });\n }\n while (element.isSortable !== true) {\n element = element.parentElement;\n }\n return element;\n}\n/**\n * Dragging event is on the sortable element. finds the top child that\n * contains the element.\n * @param {HTMLElement} sortableElement a single sortable\n * @param {HTMLElement} element is that being dragged\n */\nfunction findDragElement(sortableElement, element) {\n var options = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, options.items);\n var itemlist = items.filter(function (ele) {\n return ele.contains(element) || (ele.shadowRoot && ele.shadowRoot.contains(element));\n });\n return itemlist.length > 0 ? itemlist[0] : element;\n}\n/**\n * Destroy the sortable\n * @param {HTMLElement} sortableElement a single sortable\n */\nvar _destroySortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts') || {};\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n // remove event handlers & data from sortable\n removeEventListener(sortableElement, 'dragover');\n removeEventListener(sortableElement, 'dragenter');\n removeEventListener(sortableElement, 'dragstart');\n removeEventListener(sortableElement, 'dragend');\n removeEventListener(sortableElement, 'drop');\n // remove event data from sortable\n _removeSortableData(sortableElement);\n // remove event handlers & data from items\n removeEventListener(handles, 'mousedown');\n _removeItemEvents(items);\n _removeItemData(items);\n _removeContainerEvents(originContainer, previousContainer);\n // clear sortable flag\n sortableElement.isSortable = false;\n};\n/**\n * Enable the sortable\n * @param {HTMLElement} sortableElement a single sortable\n */\nvar _enableSortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n addAttribute(sortableElement, 'aria-dropeffect', 'move');\n addData(sortableElement, '_disabled', 'false');\n addAttribute(handles, 'draggable', 'true');\n // @todo: remove this fix\n // IE FIX for ghost\n // can be disabled as it has the side effect that other events\n // (e.g. click) will be ignored\n if (opts.disableIEFix === false) {\n var spanEl = (document || window.document).createElement('span');\n if (typeof spanEl.dragDrop === 'function') {\n addEventListener(handles, 'mousedown', function () {\n if (items.indexOf(this) !== -1) {\n this.dragDrop();\n }\n else {\n var parent = this.parentElement;\n while (items.indexOf(parent) === -1) {\n parent = parent.parentElement;\n }\n parent.dragDrop();\n }\n });\n }\n }\n};\n/**\n * Disable the sortable\n * @param {HTMLElement} sortableElement a single sortable\n */\nvar _disableSortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n addAttribute(sortableElement, 'aria-dropeffect', 'none');\n addData(sortableElement, '_disabled', 'true');\n addAttribute(handles, 'draggable', 'false');\n removeEventListener(handles, 'mousedown');\n};\n/**\n * Reload the sortable\n * @param {HTMLElement} sortableElement a single sortable\n * @description events need to be removed to not be double bound\n */\nvar _reloadSortable = function (sortableElement) {\n var opts = addData(sortableElement, 'opts');\n var items = _filter(sortableElement.children, opts.items);\n var handles = _getHandles(items, opts.handle);\n addData(sortableElement, '_disabled', 'false');\n // remove event handlers from items\n _removeItemEvents(items);\n _removeContainerEvents(originContainer, previousContainer);\n removeEventListener(handles, 'mousedown');\n // remove event handlers from sortable\n removeEventListener(sortableElement, 'dragover');\n removeEventListener(sortableElement, 'dragenter');\n removeEventListener(sortableElement, 'drop');\n};\n/**\n * Public sortable object\n * @param {Array|NodeList} sortableElements\n * @param {object|string} options|method\n */\nfunction sortable(sortableElements, options) {\n // get method string to see if a method is called\n var method = String(options);\n options = options || {};\n // check if the user provided a selector instead of an element\n if (typeof sortableElements === 'string') {\n sortableElements = document.querySelectorAll(sortableElements);\n }\n // if the user provided an element, return it in an array to keep the return value consistant\n if (sortableElements instanceof HTMLElement) {\n sortableElements = [sortableElements];\n }\n sortableElements = Array.prototype.slice.call(sortableElements);\n if (/serialize/.test(method)) {\n return sortableElements.map(function (sortableContainer) {\n var opts = addData(sortableContainer, 'opts');\n return _serialize(sortableContainer, opts.itemSerializer, opts.containerSerializer);\n });\n }\n sortableElements.forEach(function (sortableElement) {\n if (/enable|disable|destroy/.test(method)) {\n return sortable[method](sortableElement);\n }\n // log deprecation\n ['connectWith', 'disableIEFix'].forEach(function (configKey) {\n if (Object.prototype.hasOwnProperty.call(options, configKey) && options[configKey] !== null) {\n console.warn(\"HTML5Sortable: You are using the deprecated configuration \\\"\" + configKey + \"\\\". This will be removed in an upcoming version, make sure to migrate to the new options when updating.\");\n }\n });\n // merge options with default options\n options = Object.assign({}, defaultConfiguration, store(sortableElement).config, options);\n // init data store for sortable\n store(sortableElement).config = options;\n // set options on sortable\n addData(sortableElement, 'opts', options);\n // property to define as sortable\n sortableElement.isSortable = true;\n // reset sortable\n _reloadSortable(sortableElement);\n // initialize\n var listItems = _filter(sortableElement.children, options.items);\n // create element if user defined a placeholder element as a string\n var customPlaceholder;\n if (options.placeholder !== null && options.placeholder !== undefined) {\n var tempContainer = document.createElement(sortableElement.tagName);\n if (options.placeholder instanceof HTMLElement) {\n tempContainer.appendChild(options.placeholder);\n }\n else {\n tempContainer.innerHTML = options.placeholder;\n }\n customPlaceholder = tempContainer.children[0];\n }\n // add placeholder\n store(sortableElement).placeholder = _makePlaceholder(sortableElement, customPlaceholder, options.placeholderClass);\n addData(sortableElement, 'items', options.items);\n if (options.acceptFrom) {\n addData(sortableElement, 'acceptFrom', options.acceptFrom);\n }\n else if (options.connectWith) {\n addData(sortableElement, 'connectWith', options.connectWith);\n }\n _enableSortable(sortableElement);\n addAttribute(listItems, 'role', 'option');\n addAttribute(listItems, 'aria-grabbed', 'false');\n // enable hover class\n enableHoverClass(sortableElement, true);\n /*\n Handle drag events on draggable items\n Handle is set at the sortableElement level as it will bubble up\n from the item\n */\n addEventListener(sortableElement, 'dragstart', function (e) {\n // ignore dragstart events\n var target = getEventTarget(e);\n if (target.isSortable === true) {\n return;\n }\n e.stopImmediatePropagation();\n if ((options.handle && !target.matches(options.handle)) || target.getAttribute('draggable') === 'false') {\n return;\n }\n var sortableContainer = findSortable(target, e);\n var dragItem = findDragElement(sortableContainer, target);\n // grab values\n originItemsBeforeUpdate = _filter(sortableContainer.children, options.items);\n originIndex = originItemsBeforeUpdate.indexOf(dragItem);\n originElementIndex = _index(dragItem, sortableContainer.children);\n originContainer = sortableContainer;\n // add transparent clone or other ghost to cursor\n setDragImage(e, dragItem, options.customDragImage);\n // cache selsection & add attr for dragging\n draggingHeight = _getElementHeight(dragItem);\n draggingWidth = _getElementWidth(dragItem);\n dragItem.classList.add(options.draggingClass);\n dragging = _getDragging(dragItem, sortableContainer);\n addAttribute(dragging, 'aria-grabbed', 'true');\n // dispatch sortstart event on each element in group\n sortableContainer.dispatchEvent(new CustomEvent('sortstart', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n item: dragging,\n originalTarget: target\n }\n }));\n });\n /*\n We are capturing targetSortable before modifications with 'dragenter' event\n */\n addEventListener(sortableElement, 'dragenter', function (e) {\n var target = getEventTarget(e);\n var sortableContainer = findSortable(target, e);\n if (sortableContainer && sortableContainer !== previousContainer) {\n destinationItemsBeforeUpdate = _filter(sortableContainer.children, addData(sortableContainer, 'items'))\n .filter(function (item) { return item !== store(sortableElement).placeholder; });\n if (options.dropTargetContainerClass) {\n sortableContainer.classList.add(options.dropTargetContainerClass);\n }\n sortableContainer.dispatchEvent(new CustomEvent('sortenter', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n destination: {\n container: sortableContainer,\n itemsBeforeUpdate: destinationItemsBeforeUpdate\n },\n item: dragging,\n originalTarget: target\n }\n }));\n addEventListener(sortableContainer, 'dragleave', function (e) {\n // TODO: rename outTarget to be more self-explanatory\n // e.fromElement for very old browsers, similar to relatedTarget\n var outTarget = e.relatedTarget || e.fromElement;\n if (!e.currentTarget.contains(outTarget)) {\n if (options.dropTargetContainerClass) {\n sortableContainer.classList.remove(options.dropTargetContainerClass);\n }\n sortableContainer.dispatchEvent(new CustomEvent('sortleave', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: sortableContainer\n },\n item: dragging,\n originalTarget: target\n }\n }));\n }\n });\n }\n previousContainer = sortableContainer;\n });\n /*\n * Dragend Event - https://developer.mozilla.org/en-US/docs/Web/Events/dragend\n * Fires each time dragEvent end, or ESC pressed\n * We are using it to clean up any draggable elements and placeholders\n */\n addEventListener(sortableElement, 'dragend', function (e) {\n if (!dragging) {\n return;\n }\n dragging.classList.remove(options.draggingClass);\n addAttribute(dragging, 'aria-grabbed', 'false');\n if (dragging.getAttribute('aria-copied') === 'true' && addData(dragging, 'dropped') !== 'true') {\n dragging.remove();\n }\n dragging.style.display = dragging.oldDisplay;\n delete dragging.oldDisplay;\n var visiblePlaceholder = Array.from(stores.values()).map(function (data) { return data.placeholder; })\n .filter(function (placeholder) { return placeholder instanceof HTMLElement; })\n .filter(isInDom)[0];\n if (visiblePlaceholder) {\n visiblePlaceholder.remove();\n }\n // dispatch sortstart event on each element in group\n sortableElement.dispatchEvent(new CustomEvent('sortstop', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n item: dragging\n }\n }));\n previousContainer = null;\n dragging = null;\n draggingHeight = null;\n draggingWidth = null;\n });\n /*\n * Drop Event - https://developer.mozilla.org/en-US/docs/Web/Events/drop\n * Fires when valid drop target area is hit\n */\n addEventListener(sortableElement, 'drop', function (e) {\n if (!_listsConnected(sortableElement, dragging.parentElement)) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n addData(dragging, 'dropped', 'true');\n // get the one placeholder that is currently visible\n var visiblePlaceholder = Array.from(stores.values()).map(function (data) {\n return data.placeholder;\n })\n // filter only HTMLElements\n .filter(function (placeholder) { return placeholder instanceof HTMLElement; })\n // filter only elements in DOM\n .filter(isInDom)[0];\n // attach element after placeholder\n insertAfter(visiblePlaceholder, dragging);\n // remove placeholder from dom\n visiblePlaceholder.remove();\n /*\n * Fires Custom Event - 'sortstop'\n */\n sortableElement.dispatchEvent(new CustomEvent('sortstop', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer\n },\n item: dragging\n }\n }));\n var placeholder = store(sortableElement).placeholder;\n var originItems = _filter(originContainer.children, options.items)\n .filter(function (item) { return item !== placeholder; });\n var destinationContainer = this.isSortable === true ? this : this.parentElement;\n var destinationItems = _filter(destinationContainer.children, addData(destinationContainer, 'items'))\n .filter(function (item) { return item !== placeholder; });\n var destinationElementIndex = _index(dragging, Array.from(dragging.parentElement.children)\n .filter(function (item) { return item !== placeholder; }));\n var destinationIndex = _index(dragging, destinationItems);\n if (options.dropTargetContainerClass) {\n destinationContainer.classList.remove(options.dropTargetContainerClass);\n }\n /*\n * When a list item changed container lists or index within a list\n * Fires Custom Event - 'sortupdate'\n */\n if (originElementIndex !== destinationElementIndex || originContainer !== destinationContainer) {\n sortableElement.dispatchEvent(new CustomEvent('sortupdate', {\n detail: {\n origin: {\n elementIndex: originElementIndex,\n index: originIndex,\n container: originContainer,\n itemsBeforeUpdate: originItemsBeforeUpdate,\n items: originItems\n },\n destination: {\n index: destinationIndex,\n elementIndex: destinationElementIndex,\n container: destinationContainer,\n itemsBeforeUpdate: destinationItemsBeforeUpdate,\n items: destinationItems\n },\n item: dragging\n }\n }));\n }\n });\n var debouncedDragOverEnter = _debounce(function (sortableElement, element, pageX, pageY) {\n if (!dragging) {\n return;\n }\n // set placeholder height if forcePlaceholderSize option is set\n if (options.forcePlaceholderSize) {\n store(sortableElement).placeholder.style.height = draggingHeight + 'px';\n store(sortableElement).placeholder.style.width = draggingWidth + 'px';\n }\n // if element the draggedItem is dragged onto is within the array of all elements in list\n // (not only items, but also disabled, etc.)\n if (Array.from(sortableElement.children).indexOf(element) > -1) {\n var thisHeight = _getElementHeight(element);\n var thisWidth = _getElementWidth(element);\n var placeholderIndex = _index(store(sortableElement).placeholder, element.parentElement.children);\n var thisIndex = _index(element, element.parentElement.children);\n // Check if `element` is bigger than the draggable. If it is, we have to define a dead zone to prevent flickering\n if (thisHeight > draggingHeight || thisWidth > draggingWidth) {\n // Dead zone?\n var deadZoneVertical = thisHeight - draggingHeight;\n var deadZoneHorizontal = thisWidth - draggingWidth;\n var offsetTop = _offset(element).top;\n var offsetLeft = _offset(element).left;\n if (placeholderIndex < thisIndex &&\n ((options.orientation === 'vertical' && pageY < offsetTop) ||\n (options.orientation === 'horizontal' && pageX < offsetLeft))) {\n return;\n }\n if (placeholderIndex > thisIndex &&\n ((options.orientation === 'vertical' && pageY > offsetTop + thisHeight - deadZoneVertical) ||\n (options.orientation === 'horizontal' && pageX > offsetLeft + thisWidth - deadZoneHorizontal))) {\n return;\n }\n }\n if (dragging.oldDisplay === undefined) {\n dragging.oldDisplay = dragging.style.display;\n }\n if (dragging.style.display !== 'none') {\n dragging.style.display = 'none';\n }\n // To avoid flicker, determine where to position the placeholder\n // based on where the mouse pointer is relative to the elements\n // vertical center.\n var placeAfter = false;\n try {\n var elementMiddleVertical = _offset(element).top + element.offsetHeight / 2;\n var elementMiddleHorizontal = _offset(element).left + element.offsetWidth / 2;\n placeAfter = (options.orientation === 'vertical' && (pageY >= elementMiddleVertical)) ||\n (options.orientation === 'horizontal' && (pageX >= elementMiddleHorizontal));\n }\n catch (e) {\n placeAfter = placeholderIndex < thisIndex;\n }\n if (placeAfter) {\n insertAfter(element, store(sortableElement).placeholder);\n }\n else {\n insertBefore(element, store(sortableElement).placeholder);\n }\n // get placeholders from all stores & remove all but current one\n Array.from(stores.values())\n // remove empty values\n .filter(function (data) { return data.placeholder !== undefined; })\n // foreach placeholder in array if outside of current sorableContainer -> remove from DOM\n .forEach(function (data) {\n if (data.placeholder !== store(sortableElement).placeholder) {\n data.placeholder.remove();\n }\n });\n }\n else {\n // get all placeholders from store\n var placeholders = Array.from(stores.values())\n .filter(function (data) { return data.placeholder !== undefined; })\n .map(function (data) {\n return data.placeholder;\n });\n // check if element is not in placeholders\n if (placeholders.indexOf(element) === -1 && sortableElement === element && !_filter(element.children, options.items).length) {\n placeholders.forEach(function (element) { return element.remove(); });\n element.appendChild(store(sortableElement).placeholder);\n }\n }\n }, options.debounce);\n // Handle dragover and dragenter events on draggable items\n var onDragOverEnter = function (e) {\n var element = e.target;\n var sortableElement = element.isSortable === true ? element : findSortable(element, e);\n element = findDragElement(sortableElement, element);\n if (!dragging || !_listsConnected(sortableElement, dragging.parentElement) || addData(sortableElement, '_disabled') === 'true') {\n return;\n }\n var options = addData(sortableElement, 'opts');\n if (parseInt(options.maxItems) && _filter(sortableElement.children, addData(sortableElement, 'items')).length >= parseInt(options.maxItems) && dragging.parentElement !== sortableElement) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.dataTransfer.dropEffect = store(sortableElement).getConfig('copy') === true ? 'copy' : 'move';\n debouncedDragOverEnter(sortableElement, element, e.pageX, e.pageY);\n };\n addEventListener(listItems.concat(sortableElement), 'dragover', onDragOverEnter);\n addEventListener(listItems.concat(sortableElement), 'dragenter', onDragOverEnter);\n });\n return sortableElements;\n}\nsortable.destroy = function (sortableElement) {\n _destroySortable(sortableElement);\n};\nsortable.enable = function (sortableElement) {\n _enableSortable(sortableElement);\n};\nsortable.disable = function (sortableElement) {\n _disableSortable(sortableElement);\n};\n/* START.TESTS_ONLY */\nsortable.__testing = {\n // add internal methods here for testing purposes\n _data: addData,\n _removeItemEvents: _removeItemEvents,\n _removeItemData: _removeItemData,\n _removeSortableData: _removeSortableData,\n _removeContainerEvents: _removeContainerEvents\n};\n\nexport default sortable;\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['admin/components/ExtensionPage'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/throttleDebounce'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/extractText'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Switch'];","import app from 'flarum/admin/app';\nimport icon from 'flarum/common/helpers/icon';\nimport extractText from 'flarum/common/utils/extractText';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport Switch from 'flarum/common/components/Switch';\n\nexport default class FieldEdit extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.answer = this.attrs.answer;\n this.dirty = false;\n this.processing = false;\n }\n\n view() {\n return (\n
\n {/* Only suggested answers can be reordered */}\n {this.answer.is_suggested() && [, ' ']}\n {\n const newContent = prompt(\n extractText(app.translator.trans('fof-mason.admin.buttons.edit-answer-prompt')),\n this.answer.content()\n );\n\n if (newContent) {\n this.updateAttribute('content', newContent);\n }\n }}\n title={extractText(app.translator.trans('fof-mason.admin.buttons.edit-answer'))}\n >\n {this.answer.content()} {icon('fas fa-pen')}\n \n {\n this.updateAttribute('is_suggested', value);\n\n // Save right away, because updating the model with immediately trigger a redraw of the UI\n // And the unsaved state won't be preserved because the AnswerEdit component changes its place\n this.saveAnswer();\n }}\n >\n {app.translator.trans('fof-mason.admin.fields.is_suggested')}\n \n
\n \n {app.translator.trans('fof-mason.admin.buttons.save-answer')}\n \n \n
\n
\n );\n }\n\n updateAttribute(attribute, value) {\n this.answer.pushAttributes({\n [attribute]: value,\n });\n\n this.dirty = true;\n }\n\n readyToSave() {\n return this.dirty;\n }\n\n saveAnswer() {\n this.processing = true;\n\n this.answer\n .save(this.answer.data.attributes)\n .then(() => {\n this.processing = false;\n this.dirty = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n\n deleteAnswer() {\n if (\n !confirm(\n extractText(\n app.translator.trans('fof-mason.admin.messages.delete-answer-confirmation', {\n content: this.answer.content(),\n })\n )\n )\n ) {\n return;\n }\n\n this.processing = true;\n\n this.answer\n .delete()\n .then(() => {\n this.processing = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n}\n","export default function sortByAttribute any }, K extends string | number | symbol>(items: T[], attr: K) {\n if (!attr) attr = 'sort';\n return items.sort((a, b) => a[attr]() - b[attr]());\n}\n","import sortable from 'html5sortable/dist/html5sortable.es.js';\n\nimport app from 'flarum/admin/app';\nimport icon from 'flarum/common/helpers/icon';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport { debounce } from 'flarum/common/utils/throttleDebounce';\n\nimport AnswerEdit from './AnswerEdit';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class FieldAnswersEdit extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.field = this.attrs.field;\n this.processing = false;\n this.new_content = '';\n this.showUserAnswers = false;\n }\n\n configSortable() {\n const container = this.element.querySelector('.js-answers-container');\n\n // If the field doesn't exist, it doesn't have a field edit area\n if (!container) {\n return;\n }\n\n const el = sortable(container, {\n handle: '.js-answer-handle',\n })[0];\n\n // Prevents issue with more and more event listeners\n // being added, resulting in 100s of XHR requests.\n el.removeEventListener('sortupdate', this.sortingChanged);\n el.addEventListener('sortupdate', this.sortingChanged);\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n\n this.configSortable();\n }\n\n onupdate() {\n this.configSortable();\n }\n\n view() {\n if (!this.field.exists) {\n return
{app.translator.trans('fof-mason.admin.fields.save-field-for-answers')}
;\n }\n\n let suggestedAnswers = [];\n let userAnswers = [];\n\n (this.field.allAnswers() || []).forEach((answer) => {\n // When answers are deleted via store.delete() they stay as an \"undefined\" relationship\n // We ignore these deleted answers\n if (typeof answer === 'undefined') {\n return;\n }\n\n if (answer.is_suggested()) {\n suggestedAnswers.push(answer);\n } else {\n userAnswers.push(answer);\n }\n });\n\n return [\n
\n
\n {sortByAttribute(suggestedAnswers).map((answer) => (\n
\n \n
\n ))}\n
\n {userAnswers.length && (\n <>\n {\n this.showUserAnswers = !this.showUserAnswers;\n }}\n >\n
\n {app.translator.trans('fof-mason.admin.buttons.show-user-answers', {\n count: userAnswers.length,\n })}\n
\n
{icon('fas fa-chevron-' + (this.showUserAnswers ? 'up' : 'down'))}
\n \n {this.showUserAnswers && (\n
\n {sortByAttribute(userAnswers, 'content').map((answer) => (\n
\n \n
\n ))}\n
\n )}\n \n )}\n
,\n
\n \n
,\n
\n \n
,\n ];\n }\n\n saveField() {\n this.processing = true;\n\n app.request({\n method: 'POST',\n url: app.forum.attribute('apiUrl') + this.field.apiEndpoint() + '/answers',\n body: {\n data: {\n attributes: {\n content: this.new_content,\n is_suggested: true,\n },\n },\n },\n }).then((result) => {\n app.store.pushPayload(result);\n\n this.new_content = '';\n this.processing = false;\n m.redraw();\n });\n }\n\n sortingChanged = debounce(500, () => {\n const sorting = this.$('.js-answer-data')\n .map(function () {\n return $(this).data('id');\n })\n .get();\n\n this.updateSort(sorting);\n });\n\n updateSort(sorting) {\n app.request({\n method: 'POST',\n url: app.forum.attribute('apiUrl') + this.field.apiEndpoint() + '/answers/order',\n body: {\n sort: sorting,\n },\n }).then((result) => {\n // Update sort attributes\n app.store.pushPayload(result);\n m.redraw();\n });\n }\n}\n","import app from 'flarum/admin/app';\nimport icon from 'flarum/common/helpers/icon';\nimport extractText from 'flarum/common/utils/extractText';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport Switch from 'flarum/common/components/Switch';\nimport FieldAnswersEdit from './FieldAnswersEdit';\n\nexport default class FieldEdit extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.field = this.attrs.field;\n this.dirty = false;\n this.processing = false;\n this.toggleFields = false;\n\n if (!this.field) {\n this.initNewField();\n }\n }\n\n initNewField() {\n this.field = app.store.createRecord('mason-fields', {\n attributes: {\n name: '',\n description: '',\n min_answers_count: 0,\n max_answers_count: 1, // Currently not visible in the editor\n user_values_allowed: false,\n show_when_empty: false,\n validation: '',\n icon: '',\n },\n });\n }\n\n boxTitle() {\n if (this.field.exists) {\n return this.field.name();\n }\n\n return app.translator.trans('fof-mason.admin.buttons.new-field');\n }\n\n view() {\n return (\n
\n {this.field.exists && }\n {\n this.toggleFields = !this.toggleFields;\n }}\n >\n
{this.boxTitle()}
\n
\n {this.field.exists && app.translator.trans('fof-mason.admin.buttons.edit-field') + ' '}\n {icon('fas fa-chevron-' + (this.toggleFields ? 'up' : 'down'))}\n
\n \n {this.toggleFields && this.viewFields()}\n
\n );\n }\n\n viewFields() {\n return [\n
\n
\n

{app.translator.trans('fof-mason.admin.titles.field-settings')}

\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
{app.translator.trans('fof-mason.admin.fields.show_when_empty-help')}
\n
\n
\n \n
{app.translator.trans('fof-mason.admin.fields.user_values_allowed-help')}
\n
\n
\n \n
\n

{app.translator.trans('fof-mason.admin.titles.field-answers')}

\n
\n \n
\n
\n
\n
,\n
\n \n {app.translator.trans('fof-mason.admin.buttons.' + (this.field.exists ? 'save' : 'add') + '-field')}\n \n\n {this.field.exists && (\n \n )}\n
,\n ];\n }\n\n updateAttribute(attribute, value) {\n this.field.pushAttributes({\n [attribute]: value,\n });\n\n this.dirty = true;\n }\n\n readyToSave() {\n // TODO: check required fields\n return this.dirty;\n }\n\n saveField() {\n this.processing = true;\n\n const createNewRecord = !this.field.exists;\n\n this.field\n .save(this.field.data.attributes)\n .then(() => {\n if (createNewRecord) {\n this.initNewField();\n this.toggleFields = false;\n }\n\n this.processing = false;\n this.dirty = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n\n deleteField() {\n if (\n !confirm(\n extractText(\n app.translator.trans('fof-mason.admin.messages.delete-field-confirmation', {\n name: this.field.name(),\n })\n )\n )\n ) {\n return;\n }\n\n this.processing = true;\n\n this.field\n .delete()\n .then(() => {\n this.processing = false;\n\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n\n throw err;\n });\n }\n\n iconPreview(value) {\n if (!value) {\n return '';\n }\n\n return [\n ' (',\n app.translator.trans('fof-mason.admin.fields.icon-preview', {\n preview: icon(value),\n }),\n ')',\n ];\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/saveSettings'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Select'];","import app from 'flarum/admin/app';\nimport saveSettings from 'flarum/common/utils/saveSettings';\nimport Component from 'flarum/common/Component';\nimport Select from 'flarum/common/components/Select';\nimport Switch from 'flarum/common/components/Switch';\n\nexport default class MasonSettings extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fieldsSectionTitle = app.data.settings['fof-mason.fields-section-title'] || '';\n this.columnCount = app.data.settings['fof-mason.column-count'] || 1;\n this.labelsAsPlaceholders = app.data.settings['fof-mason.labels-as-placeholders'] > 0;\n this.fieldsInHero = app.data.settings['fof-mason.fields-in-hero'] > 0;\n this.hideEmptyFieldsSection = app.data.settings['fof-mason.hide-empty-fields-section'] > 0;\n this.tagsAsFields = app.data.settings['fof-mason.tags-as-fields'] > 0;\n this.tagsFieldName = app.data.settings['fof-mason.tags-field-name'] || '';\n\n this.columnOptions = {};\n\n for (let i = 1; i <= 3; i++) {\n this.columnOptions[i] = app.translator.trans('fof-mason.admin.settings.n-columns', { count: i });\n }\n }\n\n view() {\n return (\n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.fields-section-title-help')}
\n
\n
\n \n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.labels-as-placeholders-help')}
\n
\n
\n \n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.hide-empty-fields-section-help')}
\n
\n
\n \n
{app.translator.trans('fof-mason.admin.settings.tags-as-field-help')}
\n
\n {this.tagsAsFields && (\n
\n \n {\n this.updateSetting('tagsFieldName', 'fof-mason.tags-field-name', event.target.value);\n }}\n />\n
\n )}\n
\n );\n }\n\n /**\n * Updates setting in database.\n * @param attribute\n * @param setting\n * @param value\n */\n updateSetting(attribute, setting, value) {\n saveSettings({\n [setting]: value,\n });\n\n this[attribute] = value;\n }\n}\n","import sortable from 'html5sortable/dist/html5sortable.es.js';\n\nimport app from 'flarum/admin/app';\nimport ExtensionPage from 'flarum/admin/components/ExtensionPage';\nimport { debounce } from 'flarum/common/utils/throttleDebounce';\n\nimport FieldEdit from '../components/FieldEdit';\nimport MasonSettings from '../components/MasonSettings';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class MasonFieldsPage extends ExtensionPage {\n oninit(vnode) {\n super.oninit(vnode);\n\n app.request({\n method: 'GET',\n url: app.forum.attribute('apiUrl') + '/fof/mason/fields',\n }).then((result) => {\n app.store.pushPayload(result);\n m.redraw();\n });\n }\n\n configSortable() {\n const el = sortable(this.element.querySelector('.js-fields-container'), {\n handle: '.js-field-handle',\n })[0];\n\n // Prevents issue with more and more event listeners\n // being added, resulting in 100s of XHR requests.\n el.removeEventListener('sortupdate', this.sortingChanged);\n el.addEventListener('sortupdate', this.sortingChanged);\n }\n\n oncreate(vnode) {\n super.oncreate(vnode);\n\n this.configSortable();\n }\n\n onupdate() {\n this.configSortable();\n }\n\n content() {\n const fields = app.store.all('mason-fields');\n\n let fieldsList = [];\n\n sortByAttribute(fields).forEach((field) => {\n // Build array of fields to show.\n fieldsList.push(\n
\n \n
\n );\n });\n\n return (\n
\n
\n

{app.translator.trans('fof-mason.admin.titles.fields')}

\n
\n
{fieldsList}
\n \n
\n

{app.translator.trans('fof-mason.admin.titles.settings')}

\n \n
\n
\n );\n }\n\n updateSort(sorting) {\n app.request({\n method: 'POST',\n url: app.forum.attribute('apiUrl') + '/fof/mason/fields/order',\n body: {\n sort: sorting,\n },\n }).then((result) => {\n // Update sort attributes\n app.store.pushPayload(result);\n m.redraw();\n });\n }\n\n sortingChanged = debounce(500, () => {\n const sorting = this.$('.js-field-data')\n .map(function () {\n return $(this).data('id');\n })\n .get();\n\n this.updateSort(sorting);\n });\n}\n","import app from 'flarum/admin/app';\n\nimport Answer from '@common/models/Answer';\nimport Field from '@common/models/Field';\nimport MasonFieldsPage from './pages/MasonFieldsPage';\n\napp.initializers.add('fof-mason', () => {\n app.store.models['mason-fields'] = Field;\n app.store.models['mason-answers'] = Answer;\n\n app.extensionData\n .for('fof-mason')\n .registerPage(MasonFieldsPage)\n .registerPermission(\n {\n icon: 'fas fa-eye',\n label: app.translator.trans('fof-mason.admin.permissions.see-own-fields'),\n permission: 'fof-mason.see-own-fields',\n },\n 'view'\n )\n .registerPermission(\n {\n icon: 'fas fa-eye',\n label: app.translator.trans('fof-mason.admin.permissions.see-other-fields'),\n permission: 'fof-mason.see-other-fields',\n allowGuest: true,\n },\n 'view'\n )\n .registerPermission(\n {\n icon: 'fas fa-tasks',\n label: app.translator.trans('fof-mason.admin.permissions.fill-fields'),\n permission: 'fof-mason.fill-fields',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'fas fa-edit',\n label: app.translator.trans('fof-mason.admin.permissions.update-own-fields'),\n permission: 'fof-mason.update-own-fields',\n },\n 'reply'\n )\n .registerPermission(\n {\n icon: 'fas fa-edit',\n label: app.translator.trans('fof-mason.admin.permissions.update-other-fields'),\n permission: 'fof-mason.update-other-fields',\n allowGuest: true,\n },\n 'moderate'\n )\n .registerPermission(\n {\n icon: 'fas fa-forward',\n label: app.translator.trans('fof-mason.admin.permissions.skip-required-fields'),\n permission: 'fof-mason.skip-required-fields',\n },\n 'moderate'\n );\n});\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","create","constructor","Answer","content","Model","is_suggested","sort","field","apiEndpoint","this","exists","data","id","Field","name","description","min_answers_count","max_answers_count","show_when_empty","user_values_allowed","validation","icon","deleted_at","allAnswers","suggestedAnswers","required","computed","multiple","addData","element","undefined","h5s","_filter","nodes","selector","NodeList","HTMLCollection","Array","Error","from","filter","item","nodeType","matches","stores","Map","Store","_config","_placeholder","_data","config","forEach","set","mergedConfig","assign","entries","configurable","setConfig","has","getConfig","placeholder","HTMLElement","setData","getData","deleteData","store","sortableElement","addEventListener","eventName","callback","i","length","removeEventListener","addAttribute","attribute","setAttribute","removeAttribute","dragging","draggingHeight","draggingWidth","originContainer","originIndex","originElementIndex","originItemsBeforeUpdate","previousContainer","destinationItemsBeforeUpdate","_offset","parentElement","getClientRects","rect","left","window","pageXOffset","right","top","pageYOffset","bottom","_index","elementList","indexOf","isInDom","parentNode","insertNode","referenceNode","newElement","position","insertBefore","nextElementSibling","insertAfter","target","_getElementHeight","style","getComputedStyle","getPropertyValue","parseInt","map","int","isNaN","reduce","sum","_getElementWidth","_getHandles","items","querySelector","shadowRoot","getEventTarget","event","composedPath","defaultDragImage","draggedElement","elementOffset","posX","pageX","posY","pageY","_listsConnected","destination","origin","isSortable","acceptFrom","split","sel","defaultConfiguration","connectWith","disableIEFix","copy","placeholderClass","draggingClass","hoverClass","dropTargetContainerClass","debounce","throttleTime","maxItems","itemSerializer","containerSerializer","customDragImage","orientation","_removeItemEvents","_removeContainerEvents","_removeSortableData","sortable","_removeItemData","findSortable","find","el","findDragElement","options","itemlist","children","ele","contains","_enableSortable","opts","handles","handle","document","createElement","dragDrop","parent","sortableElements","method","String","querySelectorAll","slice","test","sortableContainer","customItemSerializer","customContainerSerializer","serializedItem","serializedContainer","serializedItems","node","html","outerHTML","index","container","itemCount","_serialize","configKey","console","warn","_reloadSortable","customPlaceholder","listItems","tempContainer","tagName","appendChild","innerHTML","_a","includes","classList","add","apply","_makePlaceholder","enable","hoverClasses_1","fn","threshold","_this","lastEventTimestamp","args","_i","arguments","now","Date","_throttle","buttons","_b","remove","enableHoverClass","e","stopImmediatePropagation","getAttribute","dragItem","Event","dataTransfer","setDragImage","dragImage","effectAllowed","draggedItem","ditem","cloneNode","display","oldDisplay","_getDragging","dispatchEvent","CustomEvent","detail","elementIndex","originalTarget","itemsBeforeUpdate","outTarget","relatedTarget","fromElement","currentTarget","visiblePlaceholder","values","preventDefault","stopPropagation","originItems","destinationContainer","destinationItems","destinationElementIndex","destinationIndex","func","wait","timeout","debouncedDragOverEnter","forcePlaceholderSize","height","width","thisHeight","thisWidth","placeholderIndex","thisIndex","deadZoneVertical","deadZoneHorizontal","offsetTop","offsetLeft","placeAfter","elementMiddleVertical","offsetHeight","elementMiddleHorizontal","offsetWidth","placeholders","clearTimeout","setTimeout","onDragOverEnter","dropEffect","concat","destroy","_destroySortable","disable","_disableSortable","__testing","FieldEdit","oninit","vnode","answer","attrs","dirty","processing","view","className","onclick","newContent","prompt","extractText","app","updateAttribute","title","state","onchange","saveAnswer","loading","disabled","readyToSave","deleteAnswer","pushAttributes","save","attributes","then","m","redraw","err","confirm","Component","sortByAttribute","attr","b","FieldAnswersEdit","sortingChanged","sorting","$","updateSort","new_content","showUserAnswers","configSortable","oncreate","onupdate","userAnswers","push","count","oninput","saveField","url","body","result","toggleFields","initNewField","boxTitle","viewFields","val","href","iconPreview","deleteField","createNewRecord","preview","MasonSettings","fieldsSectionTitle","columnCount","labelsAsPlaceholders","fieldsInHero","hideEmptyFieldsSection","tagsAsFields","tagsFieldName","columnOptions","updateSetting","setting","saveSettings","MasonFieldsPage","fields","fieldsList","ExtensionPage","registerPage","registerPermission","label","permission","allowGuest"],"sourceRoot":""} \ No newline at end of file diff --git a/js/dist/forum.js b/js/dist/forum.js index 4a59f2b..db32b1f 100644 --- a/js/dist/forum.js +++ b/js/dist/forum.js @@ -1,2 +1,2 @@ -(()=>{var t={n:e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},d:(e,n)=>{for(var s in n)t.o(n,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:n[s]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";t.r(e);const n=flarum.core.compat["forum/app"];var s=t.n(n);const o=flarum.core.compat["common/Model"];var r=t.n(o);const a=flarum.core.compat["common/models/Discussion"];var i=t.n(a);const l=flarum.core.compat["common/models/Forum"];var c=t.n(l);function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}function d(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,u(t,e)}var f=function(t){function e(){for(var e,n=arguments.length,s=new Array(n),o=0;o0})),e.multiple=p()("max_answers_count",(function(t){return t>1})),e}return d(e,t),e.prototype.apiEndpoint=function(){return"/fof/mason/fields"+(this.exists?"/"+this.data.id:"")},e}(r());const v=flarum.core.compat["common/extend"],w=flarum.core.compat["common/components/DiscussionComposer"];var y=t.n(w);const b=flarum.core.compat["common/helpers/icon"];var A=t.n(b);const M=flarum.core.compat["common/utils/ItemList"];var _=t.n(M);const S=flarum.core.compat["common/Component"];var x=t.n(S);const F=flarum.core.compat["common/utils/classList"];var N=t.n(F);function I(t,e){return e||(e="sort"),t.sort((function(t,n){return t[e]()-n[e]()}))}function P(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,s=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[s++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t.target.options);!(e=o()).done;){var a=e.value;if(a.selected&&"none"!==a.value){var i=a.value;n.push(s().store.getById("mason-answers",i))}}r(n)}},!n.multiple()&&m("option",{value:"none",selected:0===a.length,disabled:n.required(),hidden:this.placeholderHidden(n)},this.selectPlaceholder(n)),I(n.suggestedAnswers()||[]).map((function(t){return m("option",{value:t.id(),selected:-1!==a.indexOf(t.id())},t.content())}))),A()("fas fa-caret-down",{className:"Select-caret"}))},n.placeholderHidden=function(t){return!s().forum.attribute("fof-mason.labels-as-placeholders")&&t.required()},n.selectPlaceholder=function(t){var e="";return s().forum.attribute("fof-mason.labels-as-placeholders")&&(e+=t.name(),t.required()&&(e+=" *"),e+=" - "),t.required()?e+=s().translator.trans("fof-mason.forum.answers.choose-option"):e+=s().translator.trans("fof-mason.forum.answers.no-option-selected"),e},e}(x()),O=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var n=e.prototype;return n.oninit=function(e){var n=this;t.prototype.oninit.call(this,e),this.field=this.attrs.field,this.answers=this.attrs.answers,this.onchange=this.attrs.onchange,this.content="";var s=this.answers.filter((function(t){return void 0!==t&&t.field().id()===n.field.id()}));s.length&&(this.content=s[0].content())},n.view=function(){var t=this;return m("input",{className:"FormControl",required:this.field.required(),value:this.content,oninput:function(e){if(t.content=e.target.value,""===t.content)t.onchange([]);else{var n=s().store.createRecord("mason-answers",{attributes:{content:t.content},relationships:{field:{data:r().getIdentifier(t.field)}}});t.onchange([n])}},placeholder:this.fieldPlaceholder()})},n.fieldPlaceholder=function(){return s().forum.attribute("fof-mason.labels-as-placeholders")?this.field.name()+(this.field.required()?" *":""):""},e}(x());const q=flarum.core.compat["tags/utils/sortTags"];var C=t.n(q),j=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var n=e.prototype;return n.oninit=function(e){var n=this;t.prototype.oninit.call(this,e),this.tags=s().store.all("tags"),this.selectedTags=[],this.attrs.discussion?(this.tags=this.tags.filter((function(t){return t.canAddToDiscussion()||-1!==n.attrs.discussion.tags().indexOf(t)})),this.selectedTags=this.attrs.discussion.tags()):this.tags=this.tags.filter((function(t){return t.canStartDiscussion()})),this.minPrimary=s().forum.attribute("minPrimaryTags"),this.maxPrimary=s().forum.attribute("maxPrimaryTags"),this.minSecondary=s().forum.attribute("minSecondaryTags"),this.maxSecondary=s().forum.attribute("maxSecondaryTags"),this.maxPrimary<=0&&(this.tags=this.tags.filter((function(t){return!t.isPrimary()}))),this.maxSecondary<=0&&(this.tags=this.tags.filter((function(t){return t.isPrimary()}))),this.tags=C()(this.tags),this.inputUuid=Math.random().toString(36).substring(2)},n.view=function(){var t,e=this;if(this.maxPrimary>1||this.maxSecondary>1)return m("div",{className:"Alert"},s().translator.trans("fof-mason.forum.tags.inadequate-settings"));var n=this.selectedTags.length?this.selectedTags.sort((function(t){return t.parent()?-1:1}))[0].id():null,o=this.inputUuid,r=this.fieldRequired();return m("div",{className:N()("Mason-Field Form-group",(t={},t["Mason-Field--label-as-placeholder"]=s().forum.attribute("fof-mason.labels-as-placeholders"),t))},m("label",{for:"fofMason-selectInput-"+o},this.fieldLabel()),m("span",{className:"Select"},m("select",{className:"Select-input FormControl",id:"fofMason-selectInput-"+o,onchange:function(t){var n=t.target.value;if(e.selectedTags=[],"none"!==n){e.selectedTags.push(e.tags.find((function(t){return t.id()===n})));var s=e.selectedTags[0].parent();s&&e.selectedTags.push(s)}e.attrs.onchange(e.selectedTags)}},m("option",{value:"none",selected:0===this.selectedTags.length,disabled:r,hidden:this.placeholderHidden()},this.selectPlaceholder()),this.tags.map((function(t){var e=t.parent();return m("option",{value:t.id(),selected:t.id()===n},(e?e.name()+" | ":"")+t.name())})),","),A()("fas fa-caret-down",{className:"Select-caret"})))},n.fieldRequired=function(){return this.minPrimary>0||this.minSecondary>0},n.fieldLabel=function(){var t=s().forum.attribute("fof-mason.tags-field-name")||s().translator.trans("fof-mason.forum.tags.tags-label");return this.fieldRequired()&&(t+=" *"),t},n.placeholderHidden=function(){return!s().forum.attribute("fof-mason.labels-as-placeholders")&&this.fieldRequired()},n.selectPlaceholder=function(){var t="";return s().forum.attribute("fof-mason.labels-as-placeholders")&&(t+=this.fieldLabel()+" - "),this.fieldRequired()?t+=s().translator.trans("fof-mason.forum.answers.choose-option"):t+=s().translator.trans("fof-mason.forum.answers.no-option-selected"),t},e}(x()),D=function(t){function e(){return t.apply(this,arguments)||this}return d(e,t),e.prototype.view=function(){return m("div",{className:"Mason-Grid-Wrapper"},m("div",{className:"Mason-Grid"},(t=this.attrs.items,e=s().forum.attribute("fof-mason.column-count"),Array(Math.ceil(t.length/e)).fill(void 0).map((function(n,s){return t.slice(e*s,e+e*s)}))).map((function(t){return m("div",{className:"Mason-Row"},t.map((function(t){return m("div",Object.assign({className:"Mason-Column"},t))})))}))));var t,e},e}(x()),E=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var n=e.prototype;return n.oninit=function(e){var n=this;t.prototype.oninit.call(this,e),this.fields=I(s().store.all("mason-fields")),this.answerToFieldIndex=[],this.fields.forEach((function(t){var e=t.suggestedAnswers();Array.isArray(e)?e.forEach((function(e){n.answerToFieldIndex[e.id()]=t.id()})):console.warn("[mason] Missing suggestedAnswers relationship for field",t)}))},n.view=function(){return m("div",{className:"Mason-Fields Mason-Fields--editor"},this.headItems().toArray(),m(D,{items:this.fieldItems().toArray()}))},n.updateSelection=function(t,e){var n=this,s=this.attrs.answers.filter((function(e){var s=n.answerToFieldIndex[e.id()];return void 0===s?e.field().id()!==t.id():s!==t.id()}));s=s.concat(e),this.attrs.onchange(s)},n.headItems=function(){var t=new(_());return s().forum.attribute("fof-mason.fields-section-title")&&t.add("title",m("h5",{className:"Mason-Field--title"},s().forum.attribute("fof-mason.fields-section-title"))),t},n.fieldItems=function(){var t=this,e=new(_());return s().forum.attribute("fof-mason.tags-as-fields")&&e.add("tags",m(j,{discussion:this.attrs.discussion,onchange:function(e){t.attrs.ontagchange&&t.attrs.ontagchange(e)}})),this.fields.forEach((function(n){var o,r,a={field:n,answers:t.attrs.answers,onchange:function(e){t.updateSelection(n,e)}};r=n.user_values_allowed()?m(O,a):m(T,a),e.add("field-"+n.id(),m("div",{class:N()("Mason-Field Form-group",(o={},o["Mason-Field--label-as-placeholder"]=s().forum.attribute("fof-mason.labels-as-placeholders"),o))},m("label",null,n.icon()?m("[",null,A()(n.icon())," "):null,n.name(),n.required()?" *":null),r,n.description()?m("div",{className:"helpText"},n.description()):null))})),e},e}(x());const R=flarum.core.compat["forum/utils/DiscussionControls"];var U=t.n(R);const B=flarum.core.compat["common/components/Button"];var H=t.n(B);const L=flarum.core.compat["common/components/Modal"];var k=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var n=e.prototype;return n.oninit=function(e){t.prototype.oninit.call(this,e),this.answers=this.attrs.discussion.masonAnswers(),this.dirty=!1,this.processing=!1,this.tags=null},n.title=function(){return s().translator.trans("fof-mason.forum.answers-modal.edit-title",{title:m("em",null,this.attrs.discussion.title())})},n.content=function(){var t=this;return m("[",null,m("div",{className:"Modal-body"},m(E,{discussion:this.attrs.discussion,answers:this.answers,onchange:this.answersChanged.bind(this),ontagchange:function(e){t.tags=e,t.dirty=!0}})),m("div",{className:"Modal-footer"},m(H(),{className:"Button Button--primary",loading:this.processing,disabled:!this.dirty,onclick:this.saveAnswers.bind(this)},s().translator.trans("fof-mason.forum.answers-modal.save"))))},n.answersChanged=function(t){this.answers=t,this.dirty=!0},n.saveAnswers=function(){var t=this;this.processing=!0;var e={masonAnswers:this.answers};null!==this.tags&&(e.tags=this.tags);var n=s().store.createRecord("discussions");n.pushData({id:this.attrs.discussion.id()}),n.exists=!0,n.save({relationships:e}).then((function(){t.processing=!1,s().modal.close(),m.redraw()})).catch((function(e){throw t.processing=!1,e}))},e}(t.n(L)());const G=flarum.core.compat["common/components/DiscussionHero"];var z=t.n(G),J=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var n=e.prototype;return n.oninit=function(e){t.prototype.oninit.call(this,e),this.fields=I(s().store.all("mason-fields")),this.discussion=this.attrs.discussion},n.view=function(){var t=this.headItems().toArray(),e=this.fieldsItems().toArray();return e.length||t.length&&!s().forum.attribute("fof-mason.hide-empty-fields-section")?m("div",{className:"Mason-Fields Mason-Fields--viewer"},t,m(D,{items:e})):m("div",null)},n.headItems=function(){var t=this,e=new(_());return this.discussion.canUpdateMasonAnswers()&&e.add("edit",m(H(),{className:"Button Mason-Fields--edit",icon:"fas fa-pen",onclick:function(){return s().modal.show(k,{discussion:t.discussion})}},s().translator.trans("fof-mason.forum.discussion-controls.edit-answers"))),s().forum.attribute("fof-mason.fields-section-title")&&e.add("title",m("h5",{className:"Mason-Field--title"},s().forum.attribute("fof-mason.fields-section-title"))),e},n.fieldsItems=function(){var t=this,e=new(_());return this.fields.forEach((function(n){var o=I((t.discussion.masonAnswers()||[]).filter((function(t){return t.field()&&t.field().id()===n.id()}))),r=o.map((function(t){return m("span",{className:"Mason-Inline-Answer"},t.content())}));if(0===o.length){if(!n.show_when_empty())return;r.push(m("em",{className:"Mason-Inline-Answer"},s().translator.trans("fof-mason.forum.post-answers.no-answer")))}e.add("field-"+n.id(),m("div",{className:"Mason-Field Form-group"},m("label",null,n.icon()?m("[",null,A()(n.icon())," "):null,n.name()),m("div",{className:"FormControl Mason-Inline-Answers"},r)))})),e},e}(x());const W=flarum.core.compat["common/components/CommentPost"];var $=t.n(W);const K=flarum.core.compat["common/components/DiscussionPage"];var Q=t.n(K);function V(t){return!!s().current.matches(Q())&&1===t.number()&&!s().forum.attribute("fof-mason.fields-in-hero")}s().initializers.add("fof-mason",(function(t){t.store.models["mason-fields"]=g,t.store.models["mason-answers"]=f,i().prototype.masonAnswers=r().hasMany("masonAnswers"),i().prototype.canSeeMasonAnswers=r().attribute("canSeeMasonAnswers"),i().prototype.canUpdateMasonAnswers=r().attribute("canUpdateMasonAnswers"),c().prototype.canFillMasonFields=r().attribute("canFillMasonFields"),y().prototype.masonAnswers=[],(0,v.extend)(y().prototype,"headerItems",(function(t){var e=this;s().forum.canFillMasonFields()&&t.add("mason-fields",m(E,{answers:this.masonAnswers,onchange:function(t){e.masonAnswers=t},ontagchange:function(t){e.composer.fields.tags=t}}))})),(0,v.extend)(y().prototype,"data",(function(t){s().forum.canFillMasonFields()&&(t.relationships=t.relationships||{},t.relationships.masonAnswers=this.masonAnswers)})),(0,v.extend)(z().prototype,"items",(function(t){this.attrs.discussion.canSeeMasonAnswers()&&s().forum.attribute("fof-mason.fields-in-hero")&&t.add("mason-fields",m(J,{discussion:this.attrs.discussion}))})),(0,v.extend)($().prototype,"oninit",(function(){var t=this;this.attrs.post.discussion().canSeeMasonAnswers()&&V(this.attrs.post)&&this.subtree.check((function(){return(t.attrs.post.discussion().masonAnswers()||[]).map((function(t){return t?JSON.stringify([t.id(),!!t.field()]):""})).join(",")}))})),(0,v.extend)($().prototype,"content",(function(t){if(this.attrs.post.discussion().canSeeMasonAnswers()&&V(this.attrs.post)){var e=t.findIndex((function(t){return t.attrs&&"Post-header"===t.attrs.className}));t.splice(-1===e?0:e+1,0,m(J,{discussion:this.attrs.post.discussion()}))}})),(0,v.extend)(U(),"moderationControls",(function(t,e){e.canUpdateMasonAnswers()&&t.add("mason-update-answers",m(H(),{icon:"fas fa-tag",onclick:function(){return s().modal.show(k,{discussion:e})}},s().translator.trans("fof-mason.forum.discussion-controls.edit-answers")))})),(0,v.override)(r(),"getIdentifier",(function(t,e){return e instanceof f&&!e.exists?{type:e.data.type,attributes:{content:e.data.attributes.content},relationships:{field:{data:r().getIdentifier(e.data.relationships.field)}}}:t(e)}))}))})(),module.exports=e})(); +(()=>{var t={n:e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return t.d(s,{a:s}),s},d:(e,s)=>{for(var n in s)t.o(s,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:s[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};(()=>{"use strict";t.r(e);const s=flarum.core.compat["forum/app"];var n=t.n(s);const o=flarum.core.compat["common/Model"];var r=t.n(o);const a=flarum.core.compat["common/models/Discussion"];var i=t.n(a);const l=flarum.core.compat["common/models/Forum"];var c=t.n(l);function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}function d(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,u(t,e)}var f=function(t){function e(){for(var e,s=arguments.length,n=new Array(s),o=0;o0})),e.multiple=p()("max_answers_count",(function(t){return t>1})),e}return d(e,t),e.prototype.apiEndpoint=function(){return"/fof/mason/fields"+(this.exists?"/"+this.data.id:"")},e}(r());const v=flarum.core.compat["common/extend"],w=flarum.core.compat["common/components/DiscussionComposer"];var y=t.n(w);const b=flarum.core.compat["common/helpers/icon"];var A=t.n(b);const M=flarum.core.compat["common/utils/ItemList"];var _=t.n(M);const S=flarum.core.compat["common/Component"];var x=t.n(S);const F=flarum.core.compat["common/utils/classList"];var N=t.n(F);function I(t,e){return e||(e="sort"),t.sort((function(t,s){return t[e]()-s[e]()}))}function P(t,e){(null==e||e>t.length)&&(e=t.length);for(var s=0,n=new Array(e);s=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(t.target.options);!(e=o()).done;){var a=e.value;if(a.selected&&"none"!==a.value){var i=a.value;s.push(n().store.getById("mason-answers",i))}}r(s)}},!s.multiple()&&m("option",{value:"none",selected:0===a.length,disabled:s.required(),hidden:this.placeholderHidden(s)},this.selectPlaceholder(s)),I(s.suggestedAnswers()||[]).map((function(t){return m("option",{value:t.id(),selected:-1!==a.indexOf(t.id())},t.content())}))),A()("fas fa-caret-down",{className:"Select-caret"}))},s.placeholderHidden=function(t){return!n().forum.attribute("fof-mason.labels-as-placeholders")&&t.required()},s.selectPlaceholder=function(t){var e="";return n().forum.attribute("fof-mason.labels-as-placeholders")&&(e+=t.name(),t.required()&&(e+=" *"),e+=" - "),t.required()?e+=n().translator.trans("fof-mason.forum.answers.choose-option"):e+=n().translator.trans("fof-mason.forum.answers.no-option-selected"),e},e}(x()),O=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var s=e.prototype;return s.oninit=function(e){var s=this;t.prototype.oninit.call(this,e),this.field=this.attrs.field,this.answers=this.attrs.answers,this.onchange=this.attrs.onchange,this.content="";var n=this.answers.filter((function(t){return void 0!==t&&t.field().id()===s.field.id()}));n.length&&(this.content=n[0].content())},s.view=function(){var t=this;return m("input",{className:"FormControl",required:this.field.required(),value:this.content,oninput:function(e){if(t.content=e.target.value,""===t.content)t.onchange([]);else{var s=n().store.createRecord("mason-answers",{attributes:{content:t.content},relationships:{field:{data:r().getIdentifier(t.field)}}});t.onchange([s])}},placeholder:this.fieldPlaceholder()})},s.fieldPlaceholder=function(){return n().forum.attribute("fof-mason.labels-as-placeholders")?this.field.name()+(this.field.required()?" *":""):""},e}(x());const q=flarum.core.compat["tags/utils/sortTags"];var C=t.n(q),j=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var s=e.prototype;return s.oninit=function(e){var s=this;t.prototype.oninit.call(this,e),this.tags=n().store.all("tags"),this.selectedTags=[],this.attrs.discussion?(this.tags=this.tags.filter((function(t){return t.canAddToDiscussion()||-1!==s.attrs.discussion.tags().indexOf(t)})),this.selectedTags=this.attrs.discussion.tags()):this.tags=this.tags.filter((function(t){return t.canStartDiscussion()})),this.minPrimary=n().forum.attribute("minPrimaryTags"),this.maxPrimary=n().forum.attribute("maxPrimaryTags"),this.minSecondary=n().forum.attribute("minSecondaryTags"),this.maxSecondary=n().forum.attribute("maxSecondaryTags"),this.maxPrimary<=0&&(this.tags=this.tags.filter((function(t){return!t.isPrimary()}))),this.maxSecondary<=0&&(this.tags=this.tags.filter((function(t){return t.isPrimary()}))),this.tags=C()(this.tags),this.inputUuid=Math.random().toString(36).substring(2)},s.view=function(){var t,e=this;if(this.maxPrimary>1||this.maxSecondary>1)return m("div",{className:"Alert"},n().translator.trans("fof-mason.forum.tags.inadequate-settings"));var s=this.selectedTags.length?this.selectedTags.sort((function(t){return t.parent()?-1:1}))[0].id():null,o=this.inputUuid,r=this.fieldRequired();return m("div",{className:N()("Mason-Field Form-group",(t={},t["Mason-Field--label-as-placeholder"]=n().forum.attribute("fof-mason.labels-as-placeholders"),t))},m("label",{for:"fofMason-selectInput-"+o},this.fieldLabel()),m("span",{className:"Select"},m("select",{className:"Select-input FormControl",id:"fofMason-selectInput-"+o,onchange:function(t){var s=t.target.value;if(e.selectedTags=[],"none"!==s){e.selectedTags.push(e.tags.find((function(t){return t.id()===s})));var n=e.selectedTags[0].parent();n&&e.selectedTags.push(n)}e.attrs.onchange(e.selectedTags)}},m("option",{value:"none",selected:0===this.selectedTags.length,disabled:r,hidden:this.placeholderHidden()},this.selectPlaceholder()),this.tags.map((function(t){var e=t.parent();return m("option",{value:t.id(),selected:t.id()===s},(e?e.name()+" | ":"")+t.name())})),","),A()("fas fa-caret-down",{className:"Select-caret"})))},s.fieldRequired=function(){return this.minPrimary>0||this.minSecondary>0},s.fieldLabel=function(){var t=n().forum.attribute("fof-mason.tags-field-name")||n().translator.trans("fof-mason.forum.tags.tags-label");return this.fieldRequired()&&(t+=" *"),t},s.placeholderHidden=function(){return!n().forum.attribute("fof-mason.labels-as-placeholders")&&this.fieldRequired()},s.selectPlaceholder=function(){var t="";return n().forum.attribute("fof-mason.labels-as-placeholders")&&(t+=this.fieldLabel()+" - "),this.fieldRequired()?t+=n().translator.trans("fof-mason.forum.answers.choose-option"):t+=n().translator.trans("fof-mason.forum.answers.no-option-selected"),t},e}(x()),D=function(t){function e(){return t.apply(this,arguments)||this}return d(e,t),e.prototype.view=function(){return m("div",{className:"Mason-Grid-Wrapper"},m("div",{className:"Mason-Grid"},(t=this.attrs.items,e=n().forum.attribute("fof-mason.column-count"),Array(Math.ceil(t.length/e)).fill(void 0).map((function(s,n){return t.slice(e*n,e+e*n)}))).map((function(t){return m("div",{className:"Mason-Row"},t.map((function(t){return m("div",Object.assign({className:"Mason-Column"},t))})))}))));var t,e},e}(x()),E=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var s=e.prototype;return s.oninit=function(e){var s=this;t.prototype.oninit.call(this,e),this.fields=I(n().store.all("mason-fields")),this.answerToFieldIndex=[],this.fields.forEach((function(t){var e=t.suggestedAnswers();Array.isArray(e)?e.forEach((function(e){s.answerToFieldIndex[e.id()]=t.id()})):console.warn("[mason] Missing suggestedAnswers relationship for field",t)}))},s.view=function(){return m("div",{className:"Mason-Fields Mason-Fields--editor"},this.headItems().toArray(),m(D,{items:this.fieldItems().toArray()}))},s.updateSelection=function(t,e){var s=this,n=this.attrs.answers.filter((function(e){var n=s.answerToFieldIndex[e.id()];return void 0===n?e.field().id()!==t.id():n!==t.id()}));n=n.concat(e),this.attrs.onchange(n)},s.headItems=function(){var t=new(_());return n().forum.attribute("fof-mason.fields-section-title")&&t.add("title",m("h5",{className:"Mason-Field--title"},n().forum.attribute("fof-mason.fields-section-title"))),t},s.fieldItems=function(){var t=this,e=new(_());return n().forum.attribute("fof-mason.tags-as-fields")&&e.add("tags",m(j,{discussion:this.attrs.discussion,onchange:function(e){t.attrs.ontagchange&&t.attrs.ontagchange(e)}})),this.fields.forEach((function(s){var o,r,a={field:s,answers:t.attrs.answers,onchange:function(e){t.updateSelection(s,e)}};r=s.user_values_allowed()?m(O,a):m(T,a),e.add("field-"+s.id(),m("div",{class:N()("Mason-Field Form-group",(o={},o["Mason-Field--label-as-placeholder"]=n().forum.attribute("fof-mason.labels-as-placeholders"),o))},m("label",null,s.icon()?m("[",null,A()(s.icon())," "):null,s.name(),s.required()?" *":null),r,s.description()?m("div",{className:"helpText"},s.description()):null))})),e},e}(x());const R=flarum.core.compat["forum/utils/DiscussionControls"];var U=t.n(R);const B=flarum.core.compat["common/components/Button"];var H=t.n(B);const L=flarum.core.compat["common/components/Modal"];var k=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var s=e.prototype;return s.oninit=function(e){t.prototype.oninit.call(this,e),this.answers=this.attrs.discussion.masonAnswers(),this.dirty=!1,this.processing=!1,this.tags=null},s.title=function(){return n().translator.trans("fof-mason.forum.answers-modal.edit-title",{title:m("em",null,this.attrs.discussion.title())})},s.content=function(){var t=this;return m("[",null,m("div",{className:"Modal-body"},m(E,{discussion:this.attrs.discussion,answers:this.answers,onchange:this.answersChanged.bind(this),ontagchange:function(e){t.tags=e,t.dirty=!0}})),m("div",{className:"Modal-footer"},m(H(),{className:"Button Button--primary",loading:this.processing,disabled:!this.dirty,onclick:this.saveAnswers.bind(this)},n().translator.trans("fof-mason.forum.answers-modal.save"))))},s.answersChanged=function(t){this.answers=t,this.dirty=!0},s.saveAnswers=function(){var t=this;this.processing=!0;var e={masonAnswers:this.answers};null!==this.tags&&(e.tags=this.tags);var s=n().store.createRecord("discussions");s.pushData({id:this.attrs.discussion.id()}),s.exists=!0,s.save({relationships:e}).then((function(){t.processing=!1,n().modal.close(),m.redraw()})).catch((function(e){throw t.processing=!1,e}))},e}(t.n(L)());const G=flarum.core.compat["common/components/DiscussionHero"];var z=t.n(G),J=function(t){function e(){return t.apply(this,arguments)||this}d(e,t);var s=e.prototype;return s.oninit=function(e){t.prototype.oninit.call(this,e),this.fields=I(n().store.all("mason-fields")),this.discussion=this.attrs.discussion},s.view=function(){var t=this.headItems().toArray(),e=this.fieldsItems().toArray();return e.length||t.length&&!n().forum.attribute("fof-mason.hide-empty-fields-section")?m("div",{className:"Mason-Fields Mason-Fields--viewer"},t,m(D,{items:e})):m("div",null)},s.headItems=function(){var t=this,e=new(_());return this.discussion.canUpdateMasonAnswers()&&e.add("edit",m(H(),{className:"Button Mason-Fields--edit",icon:"fas fa-pen",onclick:function(){return n().modal.show(k,{discussion:t.discussion})}},n().translator.trans("fof-mason.forum.discussion-controls.edit-answers"))),n().forum.attribute("fof-mason.fields-section-title")&&e.add("title",m("h5",{className:"Mason-Field--title"},n().forum.attribute("fof-mason.fields-section-title"))),e},s.fieldsItems=function(){var t=this,e=new(_());return this.fields.forEach((function(s){var o=I((t.discussion.masonAnswers()||[]).filter((function(t){return t.field()&&t.field().id()===s.id()}))),r=o.map((function(t){return m("span",{className:"Mason-Inline-Answer"},t.content())}));if(0===o.length){if(!s.show_when_empty())return;r.push(m("em",{className:"Mason-Inline-Answer"},n().translator.trans("fof-mason.forum.post-answers.no-answer")))}e.add("field-"+s.id(),m("div",{className:"Mason-Field Form-group"},m("label",null,s.icon()?m("[",null,A()(s.icon())," "):null,s.name()),m("div",{className:"FormControl Mason-Inline-Answers"},r)))})),e},e}(x());const W=flarum.core.compat["common/components/CommentPost"];var $=t.n(W);const K=flarum.core.compat["common/components/DiscussionPage"];var Q=t.n(K);function V(t){return!!n().current.matches(Q())&&1===t.number()&&!n().forum.attribute("fof-mason.fields-in-hero")}n().initializers.add("fof-mason",(function(t){t.store.models["mason-fields"]=g,t.store.models["mason-answers"]=f,i().prototype.masonAnswers=r().hasMany("masonAnswers"),i().prototype.canSeeMasonAnswers=r().attribute("canSeeMasonAnswers"),i().prototype.canUpdateMasonAnswers=r().attribute("canUpdateMasonAnswers"),c().prototype.canFillMasonFields=r().attribute("canFillMasonFields"),(0,v.extend)(y().prototype,"headerItems",(function(t){var e=this;n().forum.canFillMasonFields()&&t.add("mason-fields",m(E,{answers:this.composer.fields.masonAnswers||[],onchange:function(t){e.composer.fields.masonAnswers=t},ontagchange:function(t){e.composer.fields.tags=t}}))})),(0,v.extend)(y().prototype,"data",(function(t){n().forum.canFillMasonFields()&&this.composer.fields.masonAnswers&&(t.relationships=t.relationships||{},t.relationships.masonAnswers=this.composer.fields.masonAnswers)})),(0,v.extend)(z().prototype,"items",(function(t){this.attrs.discussion.canSeeMasonAnswers()&&n().forum.attribute("fof-mason.fields-in-hero")&&t.add("mason-fields",m(J,{discussion:this.attrs.discussion}))})),(0,v.extend)($().prototype,"oninit",(function(){var t=this;this.attrs.post.discussion().canSeeMasonAnswers()&&V(this.attrs.post)&&this.subtree.check((function(){return(t.attrs.post.discussion().masonAnswers()||[]).map((function(t){return t?JSON.stringify([t.id(),!!t.field()]):""})).join(",")}))})),(0,v.extend)($().prototype,"content",(function(t){if(this.attrs.post.discussion().canSeeMasonAnswers()&&V(this.attrs.post)){var e=t.findIndex((function(t){return t.attrs&&"Post-header"===t.attrs.className}));t.splice(-1===e?0:e+1,0,m(J,{discussion:this.attrs.post.discussion()}))}})),(0,v.extend)(U(),"moderationControls",(function(t,e){e.canUpdateMasonAnswers()&&t.add("mason-update-answers",m(H(),{icon:"fas fa-tag",onclick:function(){return n().modal.show(k,{discussion:e})}},n().translator.trans("fof-mason.forum.discussion-controls.edit-answers")))})),(0,v.override)(r(),"getIdentifier",(function(t,e){return e instanceof f&&!e.exists?{type:e.data.type,attributes:{content:e.data.attributes.content},relationships:{field:{data:r().getIdentifier(e.data.relationships.field)}}}:t(e)}))}))})(),module.exports=e})(); //# sourceMappingURL=forum.js.map \ No newline at end of file diff --git a/js/dist/forum.js.map b/js/dist/forum.js.map index ffbfbce..10e77b8 100644 --- a/js/dist/forum.js.map +++ b/js/dist/forum.js.map @@ -1 +1 @@ -{"version":3,"file":"forum.js","mappings":"MACA,IAAIA,EAAsB,CCA1BA,EAAyBC,IACxB,IAAIC,EAASD,GAAUA,EAAOE,WAC7B,IAAOF,EAAiB,QACxB,IAAM,EAEP,OADAD,EAAoBI,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLRF,EAAwB,CAACM,EAASC,KACjC,IAAI,IAAIC,KAAOD,EACXP,EAAoBS,EAAEF,EAAYC,KAASR,EAAoBS,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3ER,EAAwB,CAACc,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFf,EAAyBM,IACH,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,M,+BCLvD,MAAM,EAA+BC,OAAOC,KAAKC,OAAO,a,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,gB,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,4B,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,uB,aCAzC,SAASC,EAAgBhB,EAAGiB,GAKzC,OAJAD,EAAkBf,OAAOiB,eAAiBjB,OAAOiB,eAAeC,OAAS,SAAyBnB,EAAGiB,GAEnG,OADAjB,EAAEoB,UAAYH,EACPjB,GAEFgB,EAAgBhB,EAAGiB,GCJb,SAASI,EAAeC,EAAUC,GAC/CD,EAASf,UAAYN,OAAOuB,OAAOD,EAAWhB,WAC9Ce,EAASf,UAAUkB,YAAcH,EACjCJ,EAAeI,EAAUC,G,ICDNG,EAAAA,SAAAA,G,wIACjBC,QAAUC,IAAAA,UAAwB,W,EAClCC,aAAeD,IAAAA,UAAyB,gB,EACxCE,KAAOF,IAAAA,UAA+B,Q,EACtCG,MAAQH,IAAAA,OAAoB,S,4BAE5BI,YAAA,WACI,MAAO,sBAAwBC,KAAKC,OAAS,IAAMD,KAAKE,KAAKC,GAAK,K,EAPrDV,CAAeE,KCHpC,MAAM,EAA+Bf,OAAOC,KAAKC,OAAO,yB,aCInCsB,EAAAA,SAAAA,G,wIACjBC,KAAOV,IAAAA,UAAwB,Q,EAC/BW,YAAcX,IAAAA,UAA+B,e,EAC7CY,kBAAoBZ,IAAAA,UAAwB,qB,EAC5Ca,kBAAoBb,IAAAA,UAAwB,qB,EAC5Cc,gBAAkBd,IAAAA,UAAyB,mB,EAC3Ce,oBAAsBf,IAAAA,UAAyB,uB,EAC/CgB,WAAahB,IAAAA,UAA+B,c,EAC5CiB,KAAOjB,IAAAA,UAA+B,Q,EACtCE,KAAOF,IAAAA,UAA+B,Q,EACtCkB,WAAalB,IAAAA,UAAgB,aAAcA,IAAAA,e,EAC3CmB,WAAanB,IAAAA,QAAsB,c,EACnCoB,iBAAmBpB,IAAAA,QAAsB,oB,EACzCqB,SAAWC,IAAkB,qBAAqB,SAACV,GAAD,OAAuBA,EAAoB,K,EAC7FW,SAAWD,IAAkB,qBAAqB,SAACT,GAAD,OAAuBA,EAAoB,K,4BAE7FT,YAAA,WACI,MAAO,qBAAuBC,KAAKC,OAAS,IAAMD,KAAKE,KAAKC,GAAK,K,EAjBpDC,CAAcT,KCJnC,MAAM,EAA+Bf,OAAOC,KAAKC,OAAO,iBCAlD,EAA+BF,OAAOC,KAAKC,OAAO,wC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,uB,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,yB,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,oB,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,0B,aCAzC,SAASqC,EAAuFC,EAAYC,GAEvH,OADKA,IAAMA,EAAO,QACXD,EAAMvB,MAAK,SAAClC,EAAG2D,GAAJ,OAAU3D,EAAE0D,KAAUC,EAAED,Q,8GCGzBE,EAAAA,SAAAA,G,oFACjBC,KAAA,SAAKC,GAED,MAAqCA,EAAMC,MAAnC5B,EAAR,EAAQA,MAAO6B,EAAf,EAAeA,QAASC,EAAxB,EAAwBA,SAEpBC,EAAgC,GAiBpC,OAfC/B,EAAMiB,oBAAsB,IAAIe,SAAQ,SAACC,IAUjB,IATDJ,EAAQK,WAAU,SAACrE,GAEnC,YAAiB,IAANA,GAIJA,EAAEwC,OAAS4B,EAAO5B,SAIzB0B,EAA8BI,KAAKF,EAAO5B,SAK9C,UAAM+B,UAAU,UACZ,YACIA,UAAU,2BACVhB,SAAUpB,EAAMoB,WAChBU,SAAU,SAACO,GAGP,IAFA,IAEA,EAFIR,EAAU,GAEd,E,0sBAAA,CAAmBQ,EAAMC,OAAOC,WAAhC,aAAyC,KAAhCC,EAAgC,QACrC,GAAIA,EAAOC,UAA6B,SAAjBD,EAAO3D,MAAkB,CAC5C,IAAM6D,EAAWF,EAAO3D,MAIxBgD,EAAQM,KAAKQ,IAAAA,MAAAA,QAAkB,gBAAiBD,KAIxDZ,EAASD,MAGX7B,EAAMoB,YACJ,YACIvC,MAAM,OACN4D,SAAmD,IAAzCV,EAA8Ba,OACxCC,SAAU7C,EAAMkB,WAChB4B,OAAQ5C,KAAK6C,kBAAkB/C,IAE9BE,KAAK8C,kBAAkBhD,IAG/BqB,EAAgBrB,EAAMiB,oBAAsB,IAAIgC,KAAI,SAAChB,GAAD,OACjD,YAAQpD,MAAOoD,EAAO5B,KAAMoC,UAAkE,IAAxDV,EAA8BmB,QAAQjB,EAAO5B,OAC9E4B,EAAOrC,eAInBkB,IAAK,oBAAqB,CAAEsB,UAAW,mB,EAKpDW,kBAAA,SAAkB/C,GAGd,OAAI2C,IAAAA,MAAAA,UAAoB,qCAIjB3C,EAAMkB,Y,EAGjB8B,kBAAA,SAAkBhD,GACd,IAAImD,EAAO,GAkBX,OAhBIR,IAAAA,MAAAA,UAAoB,sCACpBQ,GAAQnD,EAAMO,OAEVP,EAAMkB,aACNiC,GAAQ,MAGZA,GAAQ,OAGRnD,EAAMkB,WACNiC,GAAQR,IAAAA,WAAAA,MAAqB,yCAE7BQ,GAAQR,IAAAA,WAAAA,MAAqB,8CAG1BQ,G,EA7FM1B,CAA0B2B,KCD1BC,EAAAA,SAAAA,G,oFACjBC,OAAA,SAAO3B,GAAO,WACV,YAAM2B,OAAN,UAAa3B,GAEbzB,KAAKF,MAAQE,KAAK0B,MAAM5B,MACxBE,KAAK2B,QAAU3B,KAAK0B,MAAMC,QAC1B3B,KAAK4B,SAAW5B,KAAK0B,MAAME,SAE3B5B,KAAKN,QAAU,GAEf,IAAM2D,EAAsBrD,KAAK2B,QAAQ2B,QAAO,SAACvB,GAE7C,YAAsB,IAAXA,GAIJA,EAAOjC,QAAQK,OAAS,EAAKL,MAAMK,QAG1CkD,EAAoBX,SAEpB1C,KAAKN,QAAU2D,EAAoB,GAAG3D,Y,EAI9C8B,KAAA,WAAO,WACH,OACI,WACIU,UAAU,cACVlB,SAAUhB,KAAKF,MAAMkB,WACrBrC,MAAOqB,KAAKN,QACZ6D,QAAS,SAACC,GAGN,GAFA,EAAK9D,QAAU8D,EAAEpB,OAAOzD,MAEH,KAAjB,EAAKe,QACL,EAAKkC,SAAS,QACX,CACH,IAAMG,EAASU,IAAAA,MAAAA,aAAuB,gBAAiB,CACnDgB,WAAY,CACR/D,QAAS,EAAKA,SAElBgE,cAAe,CACX5D,MAAO,CACHI,KAAMP,IAAAA,cAAoB,EAAKG,WAK3C,EAAK8B,SAAS,CAACG,MAGvB4B,YAAa3D,KAAK4D,sB,EAK9BA,iBAAA,WACI,OAAInB,IAAAA,MAAAA,UAAoB,oCACbzC,KAAKF,MAAMO,QAAUL,KAAKF,MAAMkB,WAAa,KAAO,IAGxD,I,EA7DMmC,CAAsBD,KCJ3C,MAAM,EAA+BtE,OAAOC,KAAKC,OAAO,uB,aCMnC+E,EAAAA,SAAAA,G,oFACjBT,OAAA,SAAO3B,GAAO,WACV,YAAM2B,OAAN,UAAa3B,GAEbzB,KAAK8D,KAAOrB,IAAAA,MAAAA,IAAc,QAC1BzC,KAAK+D,aAAe,GAEhB/D,KAAK0B,MAAMsC,YACXhE,KAAK8D,KAAO9D,KAAK8D,KAAKR,QAAO,SAACW,GAAD,OAASA,EAAIC,uBAAuE,IAA/C,EAAKxC,MAAMsC,WAAWF,OAAOd,QAAQiB,MAEvGjE,KAAK+D,aAAe/D,KAAK0B,MAAMsC,WAAWF,QAE1C9D,KAAK8D,KAAO9D,KAAK8D,KAAKR,QAAO,SAACW,GAAD,OAASA,EAAIE,wBAG9CnE,KAAKoE,WAAa3B,IAAAA,MAAAA,UAAoB,kBACtCzC,KAAKqE,WAAa5B,IAAAA,MAAAA,UAAoB,kBACtCzC,KAAKsE,aAAe7B,IAAAA,MAAAA,UAAoB,oBACxCzC,KAAKuE,aAAe9B,IAAAA,MAAAA,UAAoB,oBAGpCzC,KAAKqE,YAAc,IACnBrE,KAAK8D,KAAO9D,KAAK8D,KAAKR,QAAO,SAACW,GAAD,OAAUA,EAAIO,gBAI3CxE,KAAKuE,cAAgB,IACrBvE,KAAK8D,KAAO9D,KAAK8D,KAAKR,QAAO,SAACW,GAAD,OAASA,EAAIO,gBAG9CxE,KAAK8D,KAAOW,IAASzE,KAAK8D,MAE1B9D,KAAK0E,UAAYC,KAAKC,SAASC,SAAS,IAAIC,UAAU,I,EAG1DtD,KAAA,WAAO,aACH,GAAIxB,KAAKqE,WAAa,GAAKrE,KAAKuE,aAAe,EAC3C,OAAO,SAAKrC,UAAU,SAASO,IAAAA,WAAAA,MAAqB,6CAMxD,IAAMsC,EAAuB/E,KAAK+D,aAAarB,OAAS1C,KAAK+D,aAAalE,MAAK,SAACoE,GAAD,OAAUA,EAAIe,UAAY,EAAI,KAAI,GAAG7E,KAAO,KACrHuE,EAAY1E,KAAK0E,UACjB1D,EAAWhB,KAAKiF,gBAEtB,OACI,SACI/C,UAAWgD,IAAU,0BAAD,OACf,qCAAsCzC,IAAAA,MAAAA,UAAoB,oCAD3C,KAIpB,WAAO0C,IAAA,wBAA6BT,GAAc1E,KAAKoF,cACvD,UAAMlD,UAAU,UACZ,YACIA,UAAU,2BACV/B,GAAE,wBAA0BuE,EAC5B9C,SAAU,SAACO,GACP,IAAMhC,EAAKgC,EAAMC,OAAOzD,MAIxB,GAFA,EAAKoF,aAAe,GAET,SAAP5D,EAAe,CACf,EAAK4D,aAAa9B,KAAK,EAAK6B,KAAKuB,MAAK,SAACpB,GAAD,OAASA,EAAI9D,OAASA,MAE5D,IAAM6E,EAAS,EAAKjB,aAAa,GAAGiB,SAChCA,GACA,EAAKjB,aAAa9B,KAAK+C,GAI/B,EAAKtD,MAAME,SAAS,EAAKmC,gBAG7B,YAAQpF,MAAM,OAAO4D,SAAuC,IAA7BvC,KAAK+D,aAAarB,OAAcC,SAAU3B,EAAU4B,OAAQ5C,KAAK6C,qBAC3F7C,KAAK8C,qBAET9C,KAAK8D,KAAKf,KAAI,SAACkB,GACZ,IAAMe,EAASf,EAAIe,SAEnB,OACI,YAAQrG,MAAOsF,EAAI9D,KAAMoC,SAAU0B,EAAI9D,OAAS4E,IAC1CC,EAASA,EAAO3E,OAAS,MAAQ,IAAM4D,EAAI5D,WA5B7D,KAkCCO,IAAK,oBAAqB,CAAEsB,UAAW,oB,EAMxD+C,cAAA,WACI,OAAOjF,KAAKoE,WAAa,GAAKpE,KAAKsE,aAAe,G,EAGtDc,WAAA,WACI,IAAInC,EAAOR,IAAAA,MAAAA,UAAoB,8BAAgCA,IAAAA,WAAAA,MAAqB,mCAMpF,OAJIzC,KAAKiF,kBACLhC,GAAQ,MAGLA,G,EAGXJ,kBAAA,WACI,OAAIJ,IAAAA,MAAAA,UAAoB,qCAIjBzC,KAAKiF,iB,EAGhBnC,kBAAA,WACI,IAAIG,EAAO,GAYX,OAVIR,IAAAA,MAAAA,UAAoB,sCACpBQ,GAAQjD,KAAKoF,aAAe,OAG5BpF,KAAKiF,gBACLhC,GAAQR,IAAAA,WAAAA,MAAqB,yCAE7BQ,GAAQR,IAAAA,WAAAA,MAAqB,8CAG1BQ,G,EAlIMY,CAAyBX,KCFzBoC,EAAAA,SAAAA,G,4EACjB9D,KAAA,WACI,OACI,SAAKU,UAAU,sBACX,SAAKA,UAAU,eCCOqD,EDANvF,KAAK0B,MAAMN,MCAKoE,EDAE/C,IAAAA,MAAAA,UAAoB,0BCC3DgD,MAAMd,KAAKe,KAAKH,EAAI7C,OAAS8C,IAC/BG,UAAKC,GACL7C,KAAI,SAAC8C,EAAGC,GAAJ,OAAUP,EAAIQ,MAAMP,EAAOM,EAAGN,EAAOA,EAAOM,ODHwC/C,KAAI,SAACiD,GAAD,OAC7E,SAAK9D,UAAU,aACV8D,EAAIjD,KAAI,SAACkD,GAAD,OACL,uBAAK/D,UAAU,gBAAmB+D,aCHnD,IAAuBV,EAAUC,G,EDL3BF,CAAkBpC,KEQlBgD,EAAAA,SAAAA,G,oFACjB9C,OAAA,SAAO3B,GAAO,WACV,YAAM2B,OAAN,UAAa3B,GAEbzB,KAAKmG,OAAShF,EAAgBsB,IAAAA,MAAAA,IAAc,iBAG5CzC,KAAKoG,mBAAqB,GAC1BpG,KAAKmG,OAAOrE,SAAQ,SAAChC,GACjB,IAAM6B,EAAU7B,EAAMiB,mBAKjB0E,MAAMY,QAAQ1E,GAMnBA,EAAQG,SAAQ,SAACC,GACb,EAAKqE,mBAAmBrE,EAAO5B,MAAQL,EAAMK,QAN7CmG,QAAQC,KAAK,0DAA2DzG,O,EAWpF0B,KAAA,WACI,OACI,SAAKU,UAAU,qCACVlC,KAAKwG,YAAYC,UAClB,EAACnB,EAAD,CAAWlE,MAAOpB,KAAK0G,aAAaD,c,EAKhDE,gBAAA,SAAgB7G,EAAO8G,GAAc,WAE7BjF,EAAU3B,KAAK0B,MAAMC,QAAQ2B,QAAO,SAACvB,GACrC,IAAM8E,EAAqB,EAAKT,mBAAmBrE,EAAO5B,MAI1D,YAAkC,IAAvB0G,EACA9E,EAAOjC,QAAQK,OAASL,EAAMK,KAGlC0G,IAAuB/G,EAAMK,QAGxCwB,EAAUA,EAAQmF,OAAOF,GAEzB5G,KAAK0B,MAAME,SAASD,I,EAGxB6E,UAAA,WACI,IAAMpF,EAAQ,IAAI2F,KAMlB,OAJItE,IAAAA,MAAAA,UAAoB,mCACpBrB,EAAM4F,IAAI,QAAS,QAAI9E,UAAU,sBAAsBO,IAAAA,MAAAA,UAAoB,oCAGxErB,G,EAGXsF,WAAA,WAAa,WACHtF,EAAQ,IAAI2F,KAiDlB,OA/CItE,IAAAA,MAAAA,UAAoB,6BACpBrB,EAAM4F,IACF,OACA,EAAC,EAAD,CACIhD,WAAYhE,KAAK0B,MAAMsC,WACvBpC,SAAU,SAACkC,GACP,EAAKpC,MAAMuF,aAAe,EAAKvF,MAAMuF,YAAYnD,OAMjE9D,KAAKmG,OAAOrE,SAAQ,SAAChC,GAAU,MASvBoH,EAREC,EAAa,CACfrH,MAAAA,EACA6B,QAAS,EAAKD,MAAMC,QACpBC,SAAU,SAACgF,GAEP,EAAKD,gBAAgB7G,EAAO8G,KAMhCM,EADApH,EAAMY,sBACE,EAACyC,EAAkBgE,GAEnB,EAAC5F,EAAsB4F,GAGnC/F,EAAM4F,IAAN,SACalH,EAAMK,KACf,SACIiH,MAAOlC,IAAU,0BAAD,OACX,qCAAsCzC,IAAAA,MAAAA,UAAoB,oCAD/C,KAIhB,eACK3C,EAAMc,OAAS,WAAGA,IAAKd,EAAMc,QAAd,KAA6B,KAC5Cd,EAAMO,OACNP,EAAMkB,WAAa,KAAO,MAE9BkG,EACApH,EAAMQ,cAAgB,SAAK4B,UAAU,YAAYpC,EAAMQ,eAAuB,UAKpFc,G,EAlHM8E,CAAqBhD,KCZ1C,MAAM,EAA+BtE,OAAOC,KAAKC,OAAO,kC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,4B,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,2B,ICKnCuI,EAAAA,SAAAA,G,oFACjBjE,OAAA,SAAO3B,GACH,YAAM2B,OAAN,UAAa3B,GAEbzB,KAAK2B,QAAU3B,KAAK0B,MAAMsC,WAAWsD,eACrCtH,KAAKuH,OAAQ,EACbvH,KAAKwH,YAAa,EAGlBxH,KAAK8D,KAAO,M,EAGhB2D,MAAA,WACI,OAAOhF,IAAAA,WAAAA,MAAqB,2CAA4C,CACpEgF,MAAO,YAAKzH,KAAK0B,MAAMsC,WAAWyD,Y,EAI1C/H,QAAA,WAAU,WACN,OACI,WACI,SAAKwC,UAAU,cACX,EAACgE,EAAD,CACIlC,WAAYhE,KAAK0B,MAAMsC,WACvBrC,QAAS3B,KAAK2B,QACdC,SAAU5B,KAAK0H,eAAexI,KAAKc,MACnCiH,YAAa,SAACnD,GACV,EAAKA,KAAOA,EACZ,EAAKyD,OAAQ,MAIzB,SAAKrF,UAAU,gBACX,EAAC,IAAD,CAAQA,UAAU,yBAAyByF,QAAS3H,KAAKwH,WAAY7E,UAAW3C,KAAKuH,MAAOK,QAAS5H,KAAK6H,YAAY3I,KAAKc,OACtHyC,IAAAA,WAAAA,MAAqB,0C,EAO1CiF,eAAA,SAAe/F,GACX3B,KAAK2B,QAAUA,EACf3B,KAAKuH,OAAQ,G,EAGjBM,YAAA,WAAc,WACV7H,KAAKwH,YAAa,EAElB,IAAI9D,EAAgB,CAChB4D,aAActH,KAAK2B,SAIL,OAAd3B,KAAK8D,OACLJ,EAAcI,KAAO9D,KAAK8D,MAO9B,IAAMgE,EAAsBrF,IAAAA,MAAAA,aAAuB,eACnDqF,EAAoBC,SAAS,CAAE5H,GAAIH,KAAK0B,MAAMsC,WAAW7D,OACzD2H,EAAoB7H,QAAS,EAE7B6H,EACKE,KAAK,CACFtE,cAAAA,IAEHuE,MAAK,WACF,EAAKT,YAAa,EAClB/E,IAAAA,MAAAA,QACAyF,EAAEC,YAPV,OASW,SAACC,GAEJ,MADA,EAAKZ,YAAa,EACZY,M,EA7EDf,C,MAA0BgB,ICL/C,MAAM,EAA+BzJ,OAAOC,KAAKC,OAAO,oC,aCSnCwJ,EAAAA,SAAAA,G,oFACjBlF,OAAA,SAAO3B,GACH,YAAM2B,OAAN,UAAa3B,GAEbzB,KAAKmG,OAAShF,EAAgBsB,IAAAA,MAAAA,IAAc,iBAC5CzC,KAAKgE,WAAahE,KAAK0B,MAAMsC,Y,EAGjCxC,KAAA,WACI,IAAM+G,EAAOvI,KAAKwG,YAAYC,UACxBN,EAASnG,KAAKwI,cAAc/B,UAKlC,OAAKN,EAAOzD,QAAY6F,EAAK7F,SAAUD,IAAAA,MAAAA,UAAoB,uCAMvD,SAAKP,UAAU,qCACVqG,EACD,EAACjD,EAAD,CAAWlE,MAAO+E,KANf,e,EAWfK,UAAA,WAAY,WACFpF,EAAQ,IAAI2F,KAuBlB,OArBI/G,KAAKgE,WAAWyE,yBAChBrH,EAAM4F,IACF,OACA,EAAC,IAAD,CACI9E,UAAU,4BACVtB,KAAK,aACLgH,QAAS,kBACLnF,IAAAA,MAAAA,KAAe4E,EAAmB,CAC9BrD,WAAY,EAAKA,eAIxBvB,IAAAA,WAAAA,MAAqB,sDAK9BA,IAAAA,MAAAA,UAAoB,mCACpBrB,EAAM4F,IAAI,QAAS,QAAI9E,UAAU,sBAAsBO,IAAAA,MAAAA,UAAoB,oCAGxErB,G,EAGXoH,YAAA,WAAc,WACJpH,EAAQ,IAAI2F,KAmClB,OAjCA/G,KAAKmG,OAAOrE,SAAQ,SAAChC,GAEjB,IAAM6B,EAAUR,GACX,EAAK6C,WAAWsD,gBAAkB,IAAIhE,QAAO,SAACvB,GAG3C,OAAOA,EAAOjC,SAAWiC,EAAOjC,QAAQK,OAASL,EAAMK,SAI3DuI,EAAc/G,EAAQoB,KAAI,SAAChB,GAAD,OAAY,UAAMG,UAAU,uBAAuBH,EAAOrC,cAExF,GAAuB,IAAnBiC,EAAQe,OAAc,CACtB,IAAI5C,EAAMW,kBAIN,OAHAiI,EAAYzG,KAAK,QAAIC,UAAU,uBAAuBO,IAAAA,WAAAA,MAAqB,4CAOnFrB,EAAM4F,IAAN,SACalH,EAAMK,KACf,SAAK+B,UAAU,0BACX,eACKpC,EAAMc,OAAS,WAAGA,IAAKd,EAAMc,QAAd,KAA6B,KAC5Cd,EAAMO,QAEX,SAAK6B,UAAU,oCAAoCwG,QAKxDtH,G,EA3FMkH,CAAqBpF,KCT1C,MAAM,EAA+BtE,OAAOC,KAAKC,OAAO,iC,aCAxD,MAAM,EAA+BF,OAAOC,KAAKC,OAAO,oC,aCMxD,SAAS6J,EAAiBC,GAEtB,QAAKnG,IAAAA,QAAAA,QAAoBoG,MAMA,IAAlBD,EAAKE,WAAmBrG,IAAAA,MAAAA,UAAoB,4BCFvDA,IAAAA,aAAAA,IAAqB,aAAa,SAACA,GAC/BA,EAAIsG,MAAMC,OAAO,gBAAkB5I,EACnCqC,EAAIsG,MAAMC,OAAO,iBAAmBvJ,EAEpCwJ,IAAAA,UAAAA,aAAoCtJ,IAAAA,QAAc,gBAClDsJ,IAAAA,UAAAA,mBAA0CtJ,IAAAA,UAAgB,sBAC1DsJ,IAAAA,UAAAA,sBAA6CtJ,IAAAA,UAAgB,yBAC7DuJ,IAAAA,UAAAA,mBAAqCvJ,IAAAA,UAAgB,sBCbrDwJ,IAAAA,UAAAA,aAA4C,IAE5CC,EAAAA,EAAAA,QAAOD,IAAAA,UAA8B,eAAe,SAAU/H,GAAO,WAC5DqB,IAAAA,MAAAA,sBAILrB,EAAM4F,IACF,eACA,EAACd,EAAD,CACIvE,QAAS3B,KAAKsH,aACd1F,SAAU,SAACD,GACP,EAAK2F,aAAe3F,GAExBsF,YAAa,SAACnD,GACV,EAAKuF,SAASlD,OAAOrC,KAAOA,UAM5CsF,EAAAA,EAAAA,QAAOD,IAAAA,UAA8B,QAAQ,SAAUjJ,GAC9CuC,IAAAA,MAAAA,uBAILvC,EAAKwD,cAAgBxD,EAAKwD,eAAiB,GAC3CxD,EAAKwD,cAAc4D,aAAetH,KAAKsH,kBC3B3C8B,EAAAA,EAAAA,QAAOE,IAAAA,UAA0B,SAAS,SAAUlI,GAC3CpB,KAAK0B,MAAMsC,WAAWuF,sBAAyB9G,IAAAA,MAAAA,UAAoB,6BAIxErB,EAAM4F,IAAI,eAAgB,EAACsB,EAAD,CAActE,WAAYhE,KAAK0B,MAAMsC,kBHOnEoF,EAAAA,EAAAA,QAAOI,IAAAA,UAAuB,UAAU,WAAY,WAC3CxJ,KAAK0B,MAAMkH,KAAK5E,aAAauF,sBAAyBZ,EAAiB3I,KAAK0B,MAAMkH,OAIvF5I,KAAKyJ,QAAQC,OAAM,WAGf,OAAQ,EAAKhI,MAAMkH,KAAK5E,aAAasD,gBAAkB,IAClDvE,KAAI,SAAChB,GAEF,OAAKA,EAOE4H,KAAKC,UAAU,CAAC7H,EAAO5B,OAAQ4B,EAAOjC,UANlC,MAQd+J,KAAK,YAIlBT,EAAAA,EAAAA,QAAOI,IAAAA,UAAuB,WAAW,SAAU9J,GAC/C,GAAKM,KAAK0B,MAAMkH,KAAK5E,aAAauF,sBAAyBZ,EAAiB3I,KAAK0B,MAAMkH,MAAvF,CAIA,IAAMkB,EAAkBpK,EAAQsC,WAAU,SAACiE,GAAD,OAAUA,EAAKvE,OAAkC,gBAAzBuE,EAAKvE,MAAMQ,aAI7ExC,EAAQqK,QAA4B,IAArBD,EAAyB,EAAIA,EAAkB,EAAG,EAAG,EAACxB,EAAD,CAActE,WAAYhE,KAAK0B,MAAMkH,KAAK5E,qBI5ClHoF,EAAAA,EAAAA,QAAOY,IAAoB,sBAAsB,SAAU5I,EAAO4C,GAC1DA,EAAWyE,yBACXrH,EAAM4F,IACF,uBACA,EAAC,IAAD,CAAQpG,KAAK,aAAagH,QAAS,kBAAMnF,IAAAA,MAAAA,KAAe4E,EAAmB,CAAErD,WAAAA,MACxEvB,IAAAA,WAAAA,MAAqB,0DCPtCwH,EAAAA,EAAAA,UAAStK,IAAO,iBAAiB,SAAUuK,EAAUC,GAGjD,OAAIA,aAAiB1K,IAAW0K,EAAMlK,OAC3B,CACHmK,KAAMD,EAAMjK,KAAKkK,KACjB3G,WAAY,CACR/D,QAASyK,EAAMjK,KAAKuD,WAAW/D,SAEnCgE,cAAe,CACX5D,MAAO,CACHI,KAAMP,IAAAA,cAAoBwK,EAAMjK,KAAKwD,cAAc5D,UAO5DoK,EAASC,U","sources":["webpack://@fof/mason/webpack/bootstrap","webpack://@fof/mason/webpack/runtime/compat get default export","webpack://@fof/mason/webpack/runtime/define property getters","webpack://@fof/mason/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/mason/webpack/runtime/make namespace object","webpack://@fof/mason/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/mason/./src/common/models/Answer.ts","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/mason/./src/common/models/Field.ts","webpack://@fof/mason/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/DiscussionComposer']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/mason/./src/common/helpers/sortByAttribute.ts","webpack://@fof/mason/./src/forum/components/FieldEditDropdown.js","webpack://@fof/mason/./src/forum/components/FieldEditText.js","webpack://@fof/mason/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@fof/mason/./src/forum/components/FieldEditTags.js","webpack://@fof/mason/./src/forum/components/FieldGrid.js","webpack://@fof/mason/./src/forum/helpers/chunkArray.ts","webpack://@fof/mason/./src/forum/components/FieldsEditor.js","webpack://@fof/mason/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/mason/./src/forum/components/FieldsEditorModal.js","webpack://@fof/mason/external root \"flarum.core.compat['common/components/DiscussionHero']\"","webpack://@fof/mason/./src/forum/components/FieldsViewer.js","webpack://@fof/mason/external root \"flarum.core.compat['common/components/CommentPost']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/DiscussionPage']\"","webpack://@fof/mason/./src/forum/addFieldsOnDiscussionPost.js","webpack://@fof/mason/./src/forum/index.js","webpack://@fof/mason/./src/forum/addComposerFields.js","webpack://@fof/mason/./src/forum/addFieldsOnDiscussionHero.js","webpack://@fof/mason/./src/forum/addFieldUpdateControl.js","webpack://@fof/mason/./src/forum/patchModelIdentifier.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import Model from 'flarum/common/Model';\nimport Field from './Field';\n\nexport default class Answer extends Model {\n content = Model.attribute('content');\n is_suggested = Model.attribute('is_suggested');\n sort = Model.attribute('sort');\n field = Model.hasOne('field');\n\n apiEndpoint() {\n return '/fof/mason/answers' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","import Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport Answer from './Answer';\n\nexport default class Field extends Model {\n name = Model.attribute('name');\n description = Model.attribute('description');\n min_answers_count = Model.attribute('min_answers_count');\n max_answers_count = Model.attribute('max_answers_count');\n show_when_empty = Model.attribute('show_when_empty');\n user_values_allowed = Model.attribute('user_values_allowed');\n validation = Model.attribute('validation');\n icon = Model.attribute('icon');\n sort = Model.attribute('sort');\n deleted_at = Model.attribute('deleted_at', Model.transformDate);\n allAnswers = Model.hasMany('allAnswers');\n suggestedAnswers = Model.hasMany('suggestedAnswers');\n required = computed('min_answers_count', (min_answers_count) => min_answers_count > 0);\n multiple = computed('max_answers_count', (max_answers_count) => max_answers_count > 1);\n\n apiEndpoint() {\n return '/fof/mason/fields' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/DiscussionComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","export default function sortByAttribute any }, K extends string | number | symbol>(items: T[], attr: K) {\n if (!attr) attr = 'sort';\n return items.sort((a, b) => a[attr]() - b[attr]());\n}\n","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport Component from 'flarum/common/Component';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class FieldEditDropdown extends Component {\n view(vnode) {\n // To be certain to not work on object copies, we always read the current one from vnode.attrs\n const { field, answers, onchange } = vnode.attrs;\n\n let selectedAnswerIdsForThisField = [];\n\n (field.suggestedAnswers() || []).forEach((answer) => {\n const answerIndex = answers.findIndex((a) => {\n // Temporary store entries seem to turn into undefined after saving\n if (typeof a === 'undefined') {\n return false;\n }\n\n return a.id() === answer.id();\n });\n\n if (answerIndex !== -1) {\n selectedAnswerIdsForThisField.push(answer.id());\n }\n });\n\n return (\n \n {\n let answers = [];\n\n for (let option of event.target.options) {\n if (option.selected && option.value !== 'none') {\n const answerId = option.value;\n\n // This will only work with suggested answers for now\n // As they are the only ones registered in the store\n answers.push(app.store.getById('mason-answers', answerId));\n }\n }\n\n onchange(answers);\n }}\n >\n {!field.multiple() && (\n \n );\n }\n\n placeholderHidden(field) {\n // If labels are hidden, we need to always show the default value (even if it can't be selected)\n // Otherwise when the field is \"required\" you can't find the name of the field anymore once something is selected\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n return false;\n }\n\n return field.required();\n }\n\n selectPlaceholder(field) {\n let text = '';\n\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n text += field.name();\n\n if (field.required()) {\n text += ' *';\n }\n\n text += ' - ';\n }\n\n if (field.required()) {\n text += app.translator.trans('fof-mason.forum.answers.choose-option');\n } else {\n text += app.translator.trans('fof-mason.forum.answers.no-option-selected');\n }\n\n return text;\n }\n}\n","import app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport Component from 'flarum/common/Component';\n\nexport default class FieldEditText extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.field = this.attrs.field;\n this.answers = this.attrs.answers;\n this.onchange = this.attrs.onchange;\n\n this.content = '';\n\n const answersForThisField = this.answers.filter((answer) => {\n // Temporary store entries seem to turn into undefined after saving\n if (typeof answer === 'undefined') {\n return false;\n }\n\n return answer.field().id() === this.field.id();\n });\n\n if (answersForThisField.length) {\n // For now we only support a single custom answer\n this.content = answersForThisField[0].content();\n }\n }\n\n view() {\n return (\n {\n this.content = e.target.value;\n\n if (this.content === '') {\n this.onchange([]);\n } else {\n const answer = app.store.createRecord('mason-answers', {\n attributes: {\n content: this.content,\n },\n relationships: {\n field: {\n data: Model.getIdentifier(this.field),\n },\n },\n });\n\n this.onchange([answer]);\n }\n }}\n placeholder={this.fieldPlaceholder()}\n />\n );\n }\n\n fieldPlaceholder() {\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n return this.field.name() + (this.field.required() ? ' *' : '');\n }\n\n return '';\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/utils/sortTags'];","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport Component from 'flarum/common/Component';\nimport sortTags from 'flarum/tags/utils/sortTags';\nimport classList from 'flarum/common/utils/classList';\n\nexport default class DiscussionFields extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.tags = app.store.all('tags');\n this.selectedTags = [];\n\n if (this.attrs.discussion) {\n this.tags = this.tags.filter((tag) => tag.canAddToDiscussion() || this.attrs.discussion.tags().indexOf(tag) !== -1);\n\n this.selectedTags = this.attrs.discussion.tags();\n } else {\n this.tags = this.tags.filter((tag) => tag.canStartDiscussion());\n }\n\n this.minPrimary = app.forum.attribute('minPrimaryTags');\n this.maxPrimary = app.forum.attribute('maxPrimaryTags');\n this.minSecondary = app.forum.attribute('minSecondaryTags');\n this.maxSecondary = app.forum.attribute('maxSecondaryTags');\n\n // If primary tags are disabled, don't offer them\n if (this.maxPrimary <= 0) {\n this.tags = this.tags.filter((tag) => !tag.isPrimary());\n }\n\n // If secondary tags are disabled, don't offer them\n if (this.maxSecondary <= 0) {\n this.tags = this.tags.filter((tag) => tag.isPrimary());\n }\n\n this.tags = sortTags(this.tags);\n\n this.inputUuid = Math.random().toString(36).substring(2);\n }\n\n view() {\n if (this.maxPrimary > 1 || this.maxSecondary > 1) {\n return
{app.translator.trans('fof-mason.forum.tags.inadequate-settings')}
;\n }\n\n // We take the first child selected or if none, the first parent selected\n // Of course this only works if a single tag or tag+parent is selected\n // Multiple tags are not supported on this selector\n const currentSelectedChild = this.selectedTags.length ? this.selectedTags.sort((tag) => (tag.parent() ? -1 : 1))[0].id() : null;\n const inputUuid = this.inputUuid;\n const required = this.fieldRequired();\n\n return (\n \n \n \n {\n const id = event.target.value;\n\n this.selectedTags = [];\n\n if (id !== 'none') {\n this.selectedTags.push(this.tags.find((tag) => tag.id() === id));\n\n const parent = this.selectedTags[0].parent();\n if (parent) {\n this.selectedTags.push(parent);\n }\n }\n\n this.attrs.onchange(this.selectedTags);\n }}\n >\n \n {this.tags.map((tag) => {\n const parent = tag.parent();\n\n return (\n \n );\n })}\n ,\n \n {icon('fas fa-caret-down', { className: 'Select-caret' })}\n \n \n );\n }\n\n fieldRequired() {\n return this.minPrimary > 0 || this.minSecondary > 0;\n }\n\n fieldLabel() {\n let text = app.forum.attribute('fof-mason.tags-field-name') || app.translator.trans('fof-mason.forum.tags.tags-label');\n\n if (this.fieldRequired()) {\n text += ' *';\n }\n\n return text;\n }\n\n placeholderHidden() {\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n return false;\n }\n\n return this.fieldRequired();\n }\n\n selectPlaceholder() {\n let text = '';\n\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n text += this.fieldLabel() + ' - ';\n }\n\n if (this.fieldRequired()) {\n text += app.translator.trans('fof-mason.forum.answers.choose-option');\n } else {\n text += app.translator.trans('fof-mason.forum.answers.no-option-selected');\n }\n\n return text;\n }\n}\n","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport chunkArray from '../helpers/chunkArray';\n\nexport default class FieldGrid extends Component {\n view() {\n return (\n
\n
\n {chunkArray(this.attrs.items, app.forum.attribute('fof-mason.column-count')).map((row) => (\n
\n {row.map((item) => (\n
\n ))}\n
\n ))}\n
\n
\n );\n }\n}\n","/**\n * Split an array into multiple arrays of a given size.\n *\n * Useful for grid layouts.\n *\n * @see https://stackoverflow.com/a/64777515/11091039\n * @param arr Array of items\n * @param size Number of items per array\n */\nexport default function chunkArray(arr: T[], size: number): T[][] {\n return Array(Math.ceil(arr.length / size))\n .fill(undefined)\n .map((_, i) => arr.slice(size * i, size + size * i));\n}\n","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Component from 'flarum/common/Component';\nimport classList from 'flarum/common/utils/classList';\n\nimport sortByAttribute from '@common/helpers/sortByAttribute';\nimport FieldEditDropdown from './FieldEditDropdown';\nimport FieldEditText from './FieldEditText';\nimport FieldEditTags from './FieldEditTags';\nimport FieldGrid from './FieldGrid';\n\nexport default class FieldsEditor extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fields = sortByAttribute(app.store.all('mason-fields'));\n\n // Index to quickly do a reverse lookup from answer to field\n this.answerToFieldIndex = [];\n this.fields.forEach((field) => {\n const answers = field.suggestedAnswers();\n\n // Since we silenced the error everywhere else using `|| []`, we'll keep just one place here\n // where we log a warning if the relationship appears to be missing\n // This should help troubleshooting what happens if no answers are offered\n if (!Array.isArray(answers)) {\n console.warn('[mason] Missing suggestedAnswers relationship for field', field);\n\n return;\n }\n\n answers.forEach((answer) => {\n this.answerToFieldIndex[answer.id()] = field.id();\n });\n });\n }\n\n view() {\n return (\n
\n {this.headItems().toArray()}\n \n
\n );\n }\n\n updateSelection(field, fieldAnswers) {\n // Keep only answers to other fields\n let answers = this.attrs.answers.filter((answer) => {\n const reverseFieldLookup = this.answerToFieldIndex[answer.id()];\n\n // If the answer is not in the reverse lookup table it's probably a non-suggested (user) answer\n // In that case the field should be linked in the relationship\n if (typeof reverseFieldLookup === 'undefined') {\n return answer.field().id() !== field.id();\n }\n\n return reverseFieldLookup !== field.id();\n });\n\n answers = answers.concat(fieldAnswers);\n\n this.attrs.onchange(answers);\n }\n\n headItems() {\n const items = new ItemList();\n\n if (app.forum.attribute('fof-mason.fields-section-title')) {\n items.add('title',
{app.forum.attribute('fof-mason.fields-section-title')}
);\n }\n\n return items;\n }\n\n fieldItems() {\n const items = new ItemList();\n\n if (app.forum.attribute('fof-mason.tags-as-fields')) {\n items.add(\n 'tags',\n {\n this.attrs.ontagchange && this.attrs.ontagchange(tags);\n }}\n />\n );\n }\n\n this.fields.forEach((field) => {\n const inputAttrs = {\n field,\n answers: this.attrs.answers,\n onchange: (fieldAnswers) => {\n // Every input component calls \"onchange\" with a list of answers from the store\n this.updateSelection(field, fieldAnswers);\n },\n };\n let input = null;\n\n if (field.user_values_allowed()) {\n input = ;\n } else {\n input = ;\n }\n\n items.add(\n `field-${field.id()}`,\n \n \n {input}\n {field.description() ?
{field.description()}
: null}\n
\n );\n });\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/DiscussionControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport FieldsEditor from './FieldsEditor';\n\nexport default class FieldsEditorModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.answers = this.attrs.discussion.masonAnswers();\n this.dirty = false;\n this.processing = false;\n\n // Stays null if the feature is not used\n this.tags = null;\n }\n\n title() {\n return app.translator.trans('fof-mason.forum.answers-modal.edit-title', {\n title: {this.attrs.discussion.title()},\n });\n }\n\n content() {\n return (\n <>\n
\n {\n this.tags = tags;\n this.dirty = true;\n }}\n />\n
\n
\n \n
\n \n );\n }\n\n answersChanged(answers) {\n this.answers = answers;\n this.dirty = true;\n }\n\n saveAnswers() {\n this.processing = true;\n\n let relationships = {\n masonAnswers: this.answers,\n };\n\n // If tag edit is enabled, take care of them here as well\n if (this.tags !== null) {\n relationships.tags = this.tags;\n }\n\n // Use a temporary discussion object\n // Otherwise Flarum persists the relationships to the model while the request is still processing\n // Which causes errors with components outside of the modal redrawing and reading non-persisted data\n // The real discussion will be updated automatically by the store once the request completes which is all we need\n const temporaryDiscussion = app.store.createRecord('discussions');\n temporaryDiscussion.pushData({ id: this.attrs.discussion.id() });\n temporaryDiscussion.exists = true;\n\n temporaryDiscussion\n .save({\n relationships,\n })\n .then(() => {\n this.processing = false;\n app.modal.close();\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n throw err;\n });\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/DiscussionHero'];","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport FieldsEditorModal from './FieldsEditorModal';\nimport FieldGrid from './FieldGrid';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class FieldsViewer extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fields = sortByAttribute(app.store.all('mason-fields'));\n this.discussion = this.attrs.discussion;\n }\n\n view() {\n const head = this.headItems().toArray();\n const fields = this.fieldsItems().toArray();\n\n // If all fields are hidden\n // And either no controls are shown or the setting hides them\n // We don't show the viewer\n if (!fields.length && (!head.length || app.forum.attribute('fof-mason.hide-empty-fields-section'))) {\n // We need to return an actual dom element or Flarum does not like it\n return
;\n }\n\n return (\n
\n {head}\n \n
\n );\n }\n\n headItems() {\n const items = new ItemList();\n\n if (this.discussion.canUpdateMasonAnswers()) {\n items.add(\n 'edit',\n \n app.modal.show(FieldsEditorModal, {\n discussion: this.discussion,\n })\n }\n >\n {app.translator.trans('fof-mason.forum.discussion-controls.edit-answers')}\n \n );\n }\n\n if (app.forum.attribute('fof-mason.fields-section-title')) {\n items.add('title',
{app.forum.attribute('fof-mason.fields-section-title')}
);\n }\n\n return items;\n }\n\n fieldsItems() {\n const items = new ItemList();\n\n this.fields.forEach((field) => {\n // Discussion answers to this field\n const answers = sortByAttribute(\n (this.discussion.masonAnswers() || []).filter((answer) => {\n // It's necessary to compare the field() relationship\n // Because field.suggestedAnswers() won't contain new and user answers\n return answer.field() && answer.field().id() === field.id();\n })\n );\n\n let answer_list = answers.map((answer) => {answer.content()});\n\n if (answers.length === 0) {\n if (field.show_when_empty()) {\n answer_list.push({app.translator.trans('fof-mason.forum.post-answers.no-answer')});\n } else {\n // If the field has no answer and the setting is off we don't show it\n return;\n }\n }\n\n items.add(\n `field-${field.id()}`,\n
\n \n
{answer_list}
\n
\n );\n });\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/CommentPost'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/DiscussionPage'];","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport CommentPost from 'flarum/common/components/CommentPost';\nimport DiscussionPage from 'flarum/common/components/DiscussionPage';\nimport FieldsViewer from './components/FieldsViewer';\n\nfunction showFieldsOnPost(post) {\n // The CommentPost component is also visible on the user profile, but we don't want to render the fields there\n if (!app.current.matches(DiscussionPage)) {\n return false;\n }\n\n // We only add fields to the first post, and only if fields are not displayed in the hero\n // TODO: what if the first post is deleted ?\n return post.number() === 1 && !app.forum.attribute('fof-mason.fields-in-hero');\n}\n\nexport default function () {\n extend(CommentPost.prototype, 'oninit', function () {\n if (!this.attrs.post.discussion().canSeeMasonAnswers() || !showFieldsOnPost(this.attrs.post)) {\n return;\n }\n\n this.subtree.check(() => {\n // Create a string with all answer ids\n // If answers change this string will be different\n return (this.attrs.post.discussion().masonAnswers() || [])\n .map((answer) => {\n // Sometimes answer will be undefined while the data is being saved in FieldsEditorModal\n if (!answer) {\n return '';\n }\n\n // There is a time after discussion.save() is called but before the data included in response is parsed\n // where Flarum will already have updated the relationship, but answer.field will be missing and this causes\n // the field to be skipped in FieldsViewer. So we also need to check the load status of that relationship\n return JSON.stringify([answer.id(), !!answer.field()]);\n })\n .join(',');\n });\n });\n\n extend(CommentPost.prototype, 'content', function (content) {\n if (!this.attrs.post.discussion().canSeeMasonAnswers() || !showFieldsOnPost(this.attrs.post)) {\n return;\n }\n\n const postHeaderIndex = content.findIndex((item) => item.attrs && item.attrs.className === 'Post-header');\n\n // Insert the new content just after the header\n // or at the very beginning if the header is not found\n content.splice(postHeaderIndex === -1 ? 0 : postHeaderIndex + 1, 0, );\n });\n}\n","import app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Forum from 'flarum/common/models/Forum';\nimport Answer from '@common/models/Answer';\nimport Field from '@common/models/Field';\nimport addComposerFields from './addComposerFields';\nimport addFieldUpdateControl from './addFieldUpdateControl';\nimport addFieldsOnDiscussionHero from './addFieldsOnDiscussionHero';\nimport addFieldsOnDiscussionPost from './addFieldsOnDiscussionPost';\nimport patchModelIdentifier from './patchModelIdentifier';\n\napp.initializers.add('fof-mason', (app) => {\n app.store.models['mason-fields'] = Field;\n app.store.models['mason-answers'] = Answer;\n\n Discussion.prototype.masonAnswers = Model.hasMany('masonAnswers');\n Discussion.prototype.canSeeMasonAnswers = Model.attribute('canSeeMasonAnswers');\n Discussion.prototype.canUpdateMasonAnswers = Model.attribute('canUpdateMasonAnswers');\n Forum.prototype.canFillMasonFields = Model.attribute('canFillMasonFields');\n\n addComposerFields();\n addFieldsOnDiscussionHero();\n addFieldsOnDiscussionPost();\n addFieldUpdateControl();\n patchModelIdentifier();\n});\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport DiscussionComposer from 'flarum/common/components/DiscussionComposer';\nimport FieldsEditor from './components/FieldsEditor';\n\nexport default function () {\n DiscussionComposer.prototype.masonAnswers = [];\n\n extend(DiscussionComposer.prototype, 'headerItems', function (items) {\n if (!app.forum.canFillMasonFields()) {\n return;\n }\n\n items.add(\n 'mason-fields',\n {\n this.masonAnswers = answers;\n }}\n ontagchange={(tags) => {\n this.composer.fields.tags = tags;\n }}\n />\n );\n });\n\n extend(DiscussionComposer.prototype, 'data', function (data) {\n if (!app.forum.canFillMasonFields()) {\n return;\n }\n\n data.relationships = data.relationships || {};\n data.relationships.masonAnswers = this.masonAnswers;\n });\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport DiscussionHero from 'flarum/common/components/DiscussionHero';\nimport FieldsViewer from './components/FieldsViewer';\n\nexport default function () {\n extend(DiscussionHero.prototype, 'items', function (items) {\n if (!this.attrs.discussion.canSeeMasonAnswers() || !app.forum.attribute('fof-mason.fields-in-hero')) {\n return;\n }\n\n items.add('mason-fields', );\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\nimport Button from 'flarum/common/components/Button';\nimport FieldsEditorModal from './components/FieldsEditorModal';\n\nexport default function () {\n extend(DiscussionControls, 'moderationControls', function (items, discussion) {\n if (discussion.canUpdateMasonAnswers()) {\n items.add(\n 'mason-update-answers',\n \n );\n }\n });\n}\n","import { override } from 'flarum/common/extend';\nimport Model from 'flarum/common/Model';\nimport Answer from '@common/models/Answer';\n\nexport default function () {\n override(Model, 'getIdentifier', function (original, model) {\n // For Answers that don't yet exist, we include the content and the field relationship when calling the API\n // That way they can be created server-side without making individual API requests for each answer\n if (model instanceof Answer && !model.exists) {\n return {\n type: model.data.type,\n attributes: {\n content: model.data.attributes.content,\n },\n relationships: {\n field: {\n data: Model.getIdentifier(model.data.relationships.field),\n },\n },\n };\n }\n\n // Default behaviour\n return original(model);\n });\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","create","constructor","Answer","content","Model","is_suggested","sort","field","apiEndpoint","this","exists","data","id","Field","name","description","min_answers_count","max_answers_count","show_when_empty","user_values_allowed","validation","icon","deleted_at","allAnswers","suggestedAnswers","required","computed","multiple","sortByAttribute","items","attr","b","FieldEditDropdown","view","vnode","attrs","answers","onchange","selectedAnswerIdsForThisField","forEach","answer","findIndex","push","className","event","target","options","option","selected","answerId","app","length","disabled","hidden","placeholderHidden","selectPlaceholder","map","indexOf","text","Component","FieldEditText","oninit","answersForThisField","filter","oninput","e","attributes","relationships","placeholder","fieldPlaceholder","DiscussionFields","tags","selectedTags","discussion","tag","canAddToDiscussion","canStartDiscussion","minPrimary","maxPrimary","minSecondary","maxSecondary","isPrimary","sortTags","inputUuid","Math","random","toString","substring","currentSelectedChild","parent","fieldRequired","classList","for","fieldLabel","find","FieldGrid","arr","size","Array","ceil","fill","undefined","_","i","slice","row","item","FieldsEditor","fields","answerToFieldIndex","isArray","console","warn","headItems","toArray","fieldItems","updateSelection","fieldAnswers","reverseFieldLookup","concat","ItemList","add","ontagchange","input","inputAttrs","class","FieldsEditorModal","masonAnswers","dirty","processing","title","answersChanged","loading","onclick","saveAnswers","temporaryDiscussion","pushData","save","then","m","redraw","err","Modal","FieldsViewer","head","fieldsItems","canUpdateMasonAnswers","answer_list","showFieldsOnPost","post","DiscussionPage","number","store","models","Discussion","Forum","DiscussionComposer","extend","composer","DiscussionHero","canSeeMasonAnswers","CommentPost","subtree","check","JSON","stringify","join","postHeaderIndex","splice","DiscussionControls","override","original","model","type"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"forum.js","mappings":"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","sources":["webpack://@fof/mason/webpack/bootstrap","webpack://@fof/mason/webpack/runtime/compat get default export","webpack://@fof/mason/webpack/runtime/define property getters","webpack://@fof/mason/webpack/runtime/hasOwnProperty shorthand","webpack://@fof/mason/webpack/runtime/make namespace object","webpack://@fof/mason/external root \"flarum.core.compat['forum/app']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/Model']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/models/Discussion']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/models/Forum']\"","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://@fof/mason/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://@fof/mason/./src/common/models/Answer.ts","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/computed']\"","webpack://@fof/mason/./src/common/models/Field.ts","webpack://@fof/mason/external root \"flarum.core.compat['common/extend']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/DiscussionComposer']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/helpers/icon']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/ItemList']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/Component']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/utils/classList']\"","webpack://@fof/mason/./src/common/helpers/sortByAttribute.ts","webpack://@fof/mason/./src/forum/components/FieldEditDropdown.js","webpack://@fof/mason/./src/forum/components/FieldEditText.js","webpack://@fof/mason/external root \"flarum.core.compat['tags/utils/sortTags']\"","webpack://@fof/mason/./src/forum/components/FieldEditTags.js","webpack://@fof/mason/./src/forum/components/FieldGrid.js","webpack://@fof/mason/./src/forum/helpers/chunkArray.ts","webpack://@fof/mason/./src/forum/components/FieldsEditor.js","webpack://@fof/mason/external root \"flarum.core.compat['forum/utils/DiscussionControls']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Button']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/Modal']\"","webpack://@fof/mason/./src/forum/components/FieldsEditorModal.js","webpack://@fof/mason/external root \"flarum.core.compat['common/components/DiscussionHero']\"","webpack://@fof/mason/./src/forum/components/FieldsViewer.js","webpack://@fof/mason/external root \"flarum.core.compat['common/components/CommentPost']\"","webpack://@fof/mason/external root \"flarum.core.compat['common/components/DiscussionPage']\"","webpack://@fof/mason/./src/forum/addFieldsOnDiscussionPost.js","webpack://@fof/mason/./src/forum/index.js","webpack://@fof/mason/./src/forum/addComposerFields.js","webpack://@fof/mason/./src/forum/addFieldsOnDiscussionHero.js","webpack://@fof/mason/./src/forum/addFieldUpdateControl.js","webpack://@fof/mason/./src/forum/patchModelIdentifier.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/app'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Model'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Discussion'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/models/Forum'];","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import Model from 'flarum/common/Model';\nimport Field from './Field';\n\nexport default class Answer extends Model {\n content = Model.attribute('content');\n is_suggested = Model.attribute('is_suggested');\n sort = Model.attribute('sort');\n field = Model.hasOne('field');\n\n apiEndpoint() {\n return '/fof/mason/answers' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/computed'];","import Model from 'flarum/common/Model';\nimport computed from 'flarum/common/utils/computed';\nimport Answer from './Answer';\n\nexport default class Field extends Model {\n name = Model.attribute('name');\n description = Model.attribute('description');\n min_answers_count = Model.attribute('min_answers_count');\n max_answers_count = Model.attribute('max_answers_count');\n show_when_empty = Model.attribute('show_when_empty');\n user_values_allowed = Model.attribute('user_values_allowed');\n validation = Model.attribute('validation');\n icon = Model.attribute('icon');\n sort = Model.attribute('sort');\n deleted_at = Model.attribute('deleted_at', Model.transformDate);\n allAnswers = Model.hasMany('allAnswers');\n suggestedAnswers = Model.hasMany('suggestedAnswers');\n required = computed('min_answers_count', (min_answers_count) => min_answers_count > 0);\n multiple = computed('max_answers_count', (max_answers_count) => max_answers_count > 1);\n\n apiEndpoint() {\n return '/fof/mason/fields' + (this.exists ? '/' + this.data.id : '');\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/extend'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/DiscussionComposer'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/helpers/icon'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/ItemList'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/Component'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/utils/classList'];","export default function sortByAttribute any }, K extends string | number | symbol>(items: T[], attr: K) {\n if (!attr) attr = 'sort';\n return items.sort((a, b) => a[attr]() - b[attr]());\n}\n","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport Component from 'flarum/common/Component';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class FieldEditDropdown extends Component {\n view(vnode) {\n // To be certain to not work on object copies, we always read the current one from vnode.attrs\n const { field, answers, onchange } = vnode.attrs;\n\n let selectedAnswerIdsForThisField = [];\n\n (field.suggestedAnswers() || []).forEach((answer) => {\n const answerIndex = answers.findIndex((a) => {\n // Temporary store entries seem to turn into undefined after saving\n if (typeof a === 'undefined') {\n return false;\n }\n\n return a.id() === answer.id();\n });\n\n if (answerIndex !== -1) {\n selectedAnswerIdsForThisField.push(answer.id());\n }\n });\n\n return (\n \n {\n let answers = [];\n\n for (let option of event.target.options) {\n if (option.selected && option.value !== 'none') {\n const answerId = option.value;\n\n // This will only work with suggested answers for now\n // As they are the only ones registered in the store\n answers.push(app.store.getById('mason-answers', answerId));\n }\n }\n\n onchange(answers);\n }}\n >\n {!field.multiple() && (\n \n );\n }\n\n placeholderHidden(field) {\n // If labels are hidden, we need to always show the default value (even if it can't be selected)\n // Otherwise when the field is \"required\" you can't find the name of the field anymore once something is selected\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n return false;\n }\n\n return field.required();\n }\n\n selectPlaceholder(field) {\n let text = '';\n\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n text += field.name();\n\n if (field.required()) {\n text += ' *';\n }\n\n text += ' - ';\n }\n\n if (field.required()) {\n text += app.translator.trans('fof-mason.forum.answers.choose-option');\n } else {\n text += app.translator.trans('fof-mason.forum.answers.no-option-selected');\n }\n\n return text;\n }\n}\n","import app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport Component from 'flarum/common/Component';\n\nexport default class FieldEditText extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.field = this.attrs.field;\n this.answers = this.attrs.answers;\n this.onchange = this.attrs.onchange;\n\n this.content = '';\n\n const answersForThisField = this.answers.filter((answer) => {\n // Temporary store entries seem to turn into undefined after saving\n if (typeof answer === 'undefined') {\n return false;\n }\n\n return answer.field().id() === this.field.id();\n });\n\n if (answersForThisField.length) {\n // For now we only support a single custom answer\n this.content = answersForThisField[0].content();\n }\n }\n\n view() {\n return (\n {\n this.content = e.target.value;\n\n if (this.content === '') {\n this.onchange([]);\n } else {\n const answer = app.store.createRecord('mason-answers', {\n attributes: {\n content: this.content,\n },\n relationships: {\n field: {\n data: Model.getIdentifier(this.field),\n },\n },\n });\n\n this.onchange([answer]);\n }\n }}\n placeholder={this.fieldPlaceholder()}\n />\n );\n }\n\n fieldPlaceholder() {\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n return this.field.name() + (this.field.required() ? ' *' : '');\n }\n\n return '';\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['tags/utils/sortTags'];","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport Component from 'flarum/common/Component';\nimport sortTags from 'flarum/tags/utils/sortTags';\nimport classList from 'flarum/common/utils/classList';\n\nexport default class DiscussionFields extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.tags = app.store.all('tags');\n this.selectedTags = [];\n\n if (this.attrs.discussion) {\n this.tags = this.tags.filter((tag) => tag.canAddToDiscussion() || this.attrs.discussion.tags().indexOf(tag) !== -1);\n\n this.selectedTags = this.attrs.discussion.tags();\n } else {\n this.tags = this.tags.filter((tag) => tag.canStartDiscussion());\n }\n\n this.minPrimary = app.forum.attribute('minPrimaryTags');\n this.maxPrimary = app.forum.attribute('maxPrimaryTags');\n this.minSecondary = app.forum.attribute('minSecondaryTags');\n this.maxSecondary = app.forum.attribute('maxSecondaryTags');\n\n // If primary tags are disabled, don't offer them\n if (this.maxPrimary <= 0) {\n this.tags = this.tags.filter((tag) => !tag.isPrimary());\n }\n\n // If secondary tags are disabled, don't offer them\n if (this.maxSecondary <= 0) {\n this.tags = this.tags.filter((tag) => tag.isPrimary());\n }\n\n this.tags = sortTags(this.tags);\n\n this.inputUuid = Math.random().toString(36).substring(2);\n }\n\n view() {\n if (this.maxPrimary > 1 || this.maxSecondary > 1) {\n return
{app.translator.trans('fof-mason.forum.tags.inadequate-settings')}
;\n }\n\n // We take the first child selected or if none, the first parent selected\n // Of course this only works if a single tag or tag+parent is selected\n // Multiple tags are not supported on this selector\n const currentSelectedChild = this.selectedTags.length ? this.selectedTags.sort((tag) => (tag.parent() ? -1 : 1))[0].id() : null;\n const inputUuid = this.inputUuid;\n const required = this.fieldRequired();\n\n return (\n \n \n \n {\n const id = event.target.value;\n\n this.selectedTags = [];\n\n if (id !== 'none') {\n this.selectedTags.push(this.tags.find((tag) => tag.id() === id));\n\n const parent = this.selectedTags[0].parent();\n if (parent) {\n this.selectedTags.push(parent);\n }\n }\n\n this.attrs.onchange(this.selectedTags);\n }}\n >\n \n {this.tags.map((tag) => {\n const parent = tag.parent();\n\n return (\n \n );\n })}\n ,\n \n {icon('fas fa-caret-down', { className: 'Select-caret' })}\n \n
\n );\n }\n\n fieldRequired() {\n return this.minPrimary > 0 || this.minSecondary > 0;\n }\n\n fieldLabel() {\n let text = app.forum.attribute('fof-mason.tags-field-name') || app.translator.trans('fof-mason.forum.tags.tags-label');\n\n if (this.fieldRequired()) {\n text += ' *';\n }\n\n return text;\n }\n\n placeholderHidden() {\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n return false;\n }\n\n return this.fieldRequired();\n }\n\n selectPlaceholder() {\n let text = '';\n\n if (app.forum.attribute('fof-mason.labels-as-placeholders')) {\n text += this.fieldLabel() + ' - ';\n }\n\n if (this.fieldRequired()) {\n text += app.translator.trans('fof-mason.forum.answers.choose-option');\n } else {\n text += app.translator.trans('fof-mason.forum.answers.no-option-selected');\n }\n\n return text;\n }\n}\n","import app from 'flarum/forum/app';\nimport Component from 'flarum/common/Component';\nimport chunkArray from '../helpers/chunkArray';\n\nexport default class FieldGrid extends Component {\n view() {\n return (\n
\n
\n {chunkArray(this.attrs.items, app.forum.attribute('fof-mason.column-count')).map((row) => (\n
\n {row.map((item) => (\n
\n ))}\n
\n ))}\n
\n
\n );\n }\n}\n","/**\n * Split an array into multiple arrays of a given size.\n *\n * Useful for grid layouts.\n *\n * @see https://stackoverflow.com/a/64777515/11091039\n * @param arr Array of items\n * @param size Number of items per array\n */\nexport default function chunkArray(arr: T[], size: number): T[][] {\n return Array(Math.ceil(arr.length / size))\n .fill(undefined)\n .map((_, i) => arr.slice(size * i, size + size * i));\n}\n","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Component from 'flarum/common/Component';\nimport classList from 'flarum/common/utils/classList';\n\nimport sortByAttribute from '@common/helpers/sortByAttribute';\nimport FieldEditDropdown from './FieldEditDropdown';\nimport FieldEditText from './FieldEditText';\nimport FieldEditTags from './FieldEditTags';\nimport FieldGrid from './FieldGrid';\n\nexport default class FieldsEditor extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fields = sortByAttribute(app.store.all('mason-fields'));\n\n // Index to quickly do a reverse lookup from answer to field\n this.answerToFieldIndex = [];\n this.fields.forEach((field) => {\n const answers = field.suggestedAnswers();\n\n // Since we silenced the error everywhere else using `|| []`, we'll keep just one place here\n // where we log a warning if the relationship appears to be missing\n // This should help troubleshooting what happens if no answers are offered\n if (!Array.isArray(answers)) {\n console.warn('[mason] Missing suggestedAnswers relationship for field', field);\n\n return;\n }\n\n answers.forEach((answer) => {\n this.answerToFieldIndex[answer.id()] = field.id();\n });\n });\n }\n\n view() {\n return (\n
\n {this.headItems().toArray()}\n \n
\n );\n }\n\n updateSelection(field, fieldAnswers) {\n // Keep only answers to other fields\n let answers = this.attrs.answers.filter((answer) => {\n const reverseFieldLookup = this.answerToFieldIndex[answer.id()];\n\n // If the answer is not in the reverse lookup table it's probably a non-suggested (user) answer\n // In that case the field should be linked in the relationship\n if (typeof reverseFieldLookup === 'undefined') {\n return answer.field().id() !== field.id();\n }\n\n return reverseFieldLookup !== field.id();\n });\n\n answers = answers.concat(fieldAnswers);\n\n this.attrs.onchange(answers);\n }\n\n headItems() {\n const items = new ItemList();\n\n if (app.forum.attribute('fof-mason.fields-section-title')) {\n items.add('title',
{app.forum.attribute('fof-mason.fields-section-title')}
);\n }\n\n return items;\n }\n\n fieldItems() {\n const items = new ItemList();\n\n if (app.forum.attribute('fof-mason.tags-as-fields')) {\n items.add(\n 'tags',\n {\n this.attrs.ontagchange && this.attrs.ontagchange(tags);\n }}\n />\n );\n }\n\n this.fields.forEach((field) => {\n const inputAttrs = {\n field,\n answers: this.attrs.answers,\n onchange: (fieldAnswers) => {\n // Every input component calls \"onchange\" with a list of answers from the store\n this.updateSelection(field, fieldAnswers);\n },\n };\n let input = null;\n\n if (field.user_values_allowed()) {\n input = ;\n } else {\n input = ;\n }\n\n items.add(\n `field-${field.id()}`,\n \n \n {input}\n {field.description() ?
{field.description()}
: null}\n
\n );\n });\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['forum/utils/DiscussionControls'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Button'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/Modal'];","import app from 'flarum/forum/app';\nimport Modal from 'flarum/common/components/Modal';\nimport Button from 'flarum/common/components/Button';\nimport FieldsEditor from './FieldsEditor';\n\nexport default class FieldsEditorModal extends Modal {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.answers = this.attrs.discussion.masonAnswers();\n this.dirty = false;\n this.processing = false;\n\n // Stays null if the feature is not used\n this.tags = null;\n }\n\n title() {\n return app.translator.trans('fof-mason.forum.answers-modal.edit-title', {\n title: {this.attrs.discussion.title()},\n });\n }\n\n content() {\n return (\n <>\n
\n {\n this.tags = tags;\n this.dirty = true;\n }}\n />\n
\n
\n \n
\n \n );\n }\n\n answersChanged(answers) {\n this.answers = answers;\n this.dirty = true;\n }\n\n saveAnswers() {\n this.processing = true;\n\n let relationships = {\n masonAnswers: this.answers,\n };\n\n // If tag edit is enabled, take care of them here as well\n if (this.tags !== null) {\n relationships.tags = this.tags;\n }\n\n // Use a temporary discussion object\n // Otherwise Flarum persists the relationships to the model while the request is still processing\n // Which causes errors with components outside of the modal redrawing and reading non-persisted data\n // The real discussion will be updated automatically by the store once the request completes which is all we need\n const temporaryDiscussion = app.store.createRecord('discussions');\n temporaryDiscussion.pushData({ id: this.attrs.discussion.id() });\n temporaryDiscussion.exists = true;\n\n temporaryDiscussion\n .save({\n relationships,\n })\n .then(() => {\n this.processing = false;\n app.modal.close();\n m.redraw();\n })\n .catch((err) => {\n this.processing = false;\n throw err;\n });\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/DiscussionHero'];","import app from 'flarum/forum/app';\nimport icon from 'flarum/common/helpers/icon';\nimport ItemList from 'flarum/common/utils/ItemList';\nimport Component from 'flarum/common/Component';\nimport Button from 'flarum/common/components/Button';\nimport FieldsEditorModal from './FieldsEditorModal';\nimport FieldGrid from './FieldGrid';\nimport sortByAttribute from '@common/helpers/sortByAttribute';\n\nexport default class FieldsViewer extends Component {\n oninit(vnode) {\n super.oninit(vnode);\n\n this.fields = sortByAttribute(app.store.all('mason-fields'));\n this.discussion = this.attrs.discussion;\n }\n\n view() {\n const head = this.headItems().toArray();\n const fields = this.fieldsItems().toArray();\n\n // If all fields are hidden\n // And either no controls are shown or the setting hides them\n // We don't show the viewer\n if (!fields.length && (!head.length || app.forum.attribute('fof-mason.hide-empty-fields-section'))) {\n // We need to return an actual dom element or Flarum does not like it\n return
;\n }\n\n return (\n
\n {head}\n \n
\n );\n }\n\n headItems() {\n const items = new ItemList();\n\n if (this.discussion.canUpdateMasonAnswers()) {\n items.add(\n 'edit',\n \n app.modal.show(FieldsEditorModal, {\n discussion: this.discussion,\n })\n }\n >\n {app.translator.trans('fof-mason.forum.discussion-controls.edit-answers')}\n \n );\n }\n\n if (app.forum.attribute('fof-mason.fields-section-title')) {\n items.add('title',
{app.forum.attribute('fof-mason.fields-section-title')}
);\n }\n\n return items;\n }\n\n fieldsItems() {\n const items = new ItemList();\n\n this.fields.forEach((field) => {\n // Discussion answers to this field\n const answers = sortByAttribute(\n (this.discussion.masonAnswers() || []).filter((answer) => {\n // It's necessary to compare the field() relationship\n // Because field.suggestedAnswers() won't contain new and user answers\n return answer.field() && answer.field().id() === field.id();\n })\n );\n\n let answer_list = answers.map((answer) => {answer.content()});\n\n if (answers.length === 0) {\n if (field.show_when_empty()) {\n answer_list.push({app.translator.trans('fof-mason.forum.post-answers.no-answer')});\n } else {\n // If the field has no answer and the setting is off we don't show it\n return;\n }\n }\n\n items.add(\n `field-${field.id()}`,\n
\n \n
{answer_list}
\n
\n );\n });\n\n return items;\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/CommentPost'];","const __WEBPACK_NAMESPACE_OBJECT__ = flarum.core.compat['common/components/DiscussionPage'];","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport CommentPost from 'flarum/common/components/CommentPost';\nimport DiscussionPage from 'flarum/common/components/DiscussionPage';\nimport FieldsViewer from './components/FieldsViewer';\n\nfunction showFieldsOnPost(post) {\n // The CommentPost component is also visible on the user profile, but we don't want to render the fields there\n if (!app.current.matches(DiscussionPage)) {\n return false;\n }\n\n // We only add fields to the first post, and only if fields are not displayed in the hero\n // TODO: what if the first post is deleted ?\n return post.number() === 1 && !app.forum.attribute('fof-mason.fields-in-hero');\n}\n\nexport default function () {\n extend(CommentPost.prototype, 'oninit', function () {\n if (!this.attrs.post.discussion().canSeeMasonAnswers() || !showFieldsOnPost(this.attrs.post)) {\n return;\n }\n\n this.subtree.check(() => {\n // Create a string with all answer ids\n // If answers change this string will be different\n return (this.attrs.post.discussion().masonAnswers() || [])\n .map((answer) => {\n // Sometimes answer will be undefined while the data is being saved in FieldsEditorModal\n if (!answer) {\n return '';\n }\n\n // There is a time after discussion.save() is called but before the data included in response is parsed\n // where Flarum will already have updated the relationship, but answer.field will be missing and this causes\n // the field to be skipped in FieldsViewer. So we also need to check the load status of that relationship\n return JSON.stringify([answer.id(), !!answer.field()]);\n })\n .join(',');\n });\n });\n\n extend(CommentPost.prototype, 'content', function (content) {\n if (!this.attrs.post.discussion().canSeeMasonAnswers() || !showFieldsOnPost(this.attrs.post)) {\n return;\n }\n\n const postHeaderIndex = content.findIndex((item) => item.attrs && item.attrs.className === 'Post-header');\n\n // Insert the new content just after the header\n // or at the very beginning if the header is not found\n content.splice(postHeaderIndex === -1 ? 0 : postHeaderIndex + 1, 0, );\n });\n}\n","import app from 'flarum/forum/app';\nimport Model from 'flarum/common/Model';\nimport Discussion from 'flarum/common/models/Discussion';\nimport Forum from 'flarum/common/models/Forum';\nimport Answer from '@common/models/Answer';\nimport Field from '@common/models/Field';\nimport addComposerFields from './addComposerFields';\nimport addFieldUpdateControl from './addFieldUpdateControl';\nimport addFieldsOnDiscussionHero from './addFieldsOnDiscussionHero';\nimport addFieldsOnDiscussionPost from './addFieldsOnDiscussionPost';\nimport patchModelIdentifier from './patchModelIdentifier';\n\napp.initializers.add('fof-mason', (app) => {\n app.store.models['mason-fields'] = Field;\n app.store.models['mason-answers'] = Answer;\n\n Discussion.prototype.masonAnswers = Model.hasMany('masonAnswers');\n Discussion.prototype.canSeeMasonAnswers = Model.attribute('canSeeMasonAnswers');\n Discussion.prototype.canUpdateMasonAnswers = Model.attribute('canUpdateMasonAnswers');\n Forum.prototype.canFillMasonFields = Model.attribute('canFillMasonFields');\n\n addComposerFields();\n addFieldsOnDiscussionHero();\n addFieldsOnDiscussionPost();\n addFieldUpdateControl();\n patchModelIdentifier();\n});\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport DiscussionComposer from 'flarum/common/components/DiscussionComposer';\nimport FieldsEditor from './components/FieldsEditor';\n\nexport default function () {\n extend(DiscussionComposer.prototype, 'headerItems', function (items) {\n if (!app.forum.canFillMasonFields()) {\n return;\n }\n\n items.add(\n 'mason-fields',\n {\n this.composer.fields.masonAnswers = answers;\n }}\n ontagchange={(tags) => {\n this.composer.fields.tags = tags;\n }}\n />\n );\n });\n\n extend(DiscussionComposer.prototype, 'data', function (data) {\n if (!app.forum.canFillMasonFields() || !this.composer.fields.masonAnswers) {\n return;\n }\n\n data.relationships = data.relationships || {};\n data.relationships.masonAnswers = this.composer.fields.masonAnswers;\n });\n}\n","import { extend } from 'flarum/common/extend';\nimport app from 'flarum/forum/app';\nimport DiscussionHero from 'flarum/common/components/DiscussionHero';\nimport FieldsViewer from './components/FieldsViewer';\n\nexport default function () {\n extend(DiscussionHero.prototype, 'items', function (items) {\n if (!this.attrs.discussion.canSeeMasonAnswers() || !app.forum.attribute('fof-mason.fields-in-hero')) {\n return;\n }\n\n items.add('mason-fields', );\n });\n}\n","import app from 'flarum/forum/app';\nimport { extend } from 'flarum/common/extend';\nimport DiscussionControls from 'flarum/forum/utils/DiscussionControls';\nimport Button from 'flarum/common/components/Button';\nimport FieldsEditorModal from './components/FieldsEditorModal';\n\nexport default function () {\n extend(DiscussionControls, 'moderationControls', function (items, discussion) {\n if (discussion.canUpdateMasonAnswers()) {\n items.add(\n 'mason-update-answers',\n \n );\n }\n });\n}\n","import { override } from 'flarum/common/extend';\nimport Model from 'flarum/common/Model';\nimport Answer from '@common/models/Answer';\n\nexport default function () {\n override(Model, 'getIdentifier', function (original, model) {\n // For Answers that don't yet exist, we include the content and the field relationship when calling the API\n // That way they can be created server-side without making individual API requests for each answer\n if (model instanceof Answer && !model.exists) {\n return {\n type: model.data.type,\n attributes: {\n content: model.data.attributes.content,\n },\n relationships: {\n field: {\n data: Model.getIdentifier(model.data.relationships.field),\n },\n },\n };\n }\n\n // Default behaviour\n return original(model);\n });\n}\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","flarum","core","compat","_setPrototypeOf","p","setPrototypeOf","bind","__proto__","_inheritsLoose","subClass","superClass","create","constructor","Answer","content","Model","is_suggested","sort","field","apiEndpoint","this","exists","data","id","Field","name","description","min_answers_count","max_answers_count","show_when_empty","user_values_allowed","validation","icon","deleted_at","allAnswers","suggestedAnswers","required","computed","multiple","sortByAttribute","items","attr","b","FieldEditDropdown","view","vnode","attrs","answers","onchange","selectedAnswerIdsForThisField","forEach","answer","findIndex","push","className","event","target","options","option","selected","answerId","app","length","disabled","hidden","placeholderHidden","selectPlaceholder","map","indexOf","text","Component","FieldEditText","oninit","answersForThisField","filter","oninput","e","attributes","relationships","placeholder","fieldPlaceholder","DiscussionFields","tags","selectedTags","discussion","tag","canAddToDiscussion","canStartDiscussion","minPrimary","maxPrimary","minSecondary","maxSecondary","isPrimary","sortTags","inputUuid","Math","random","toString","substring","currentSelectedChild","parent","fieldRequired","classList","for","fieldLabel","find","FieldGrid","arr","size","Array","ceil","fill","undefined","_","i","slice","row","item","FieldsEditor","fields","answerToFieldIndex","isArray","console","warn","headItems","toArray","fieldItems","updateSelection","fieldAnswers","reverseFieldLookup","concat","ItemList","add","ontagchange","input","inputAttrs","class","FieldsEditorModal","masonAnswers","dirty","processing","title","answersChanged","loading","onclick","saveAnswers","temporaryDiscussion","pushData","save","then","m","redraw","err","Modal","FieldsViewer","head","fieldsItems","canUpdateMasonAnswers","answer_list","showFieldsOnPost","post","DiscussionPage","number","store","models","Discussion","Forum","extend","DiscussionComposer","composer","DiscussionHero","canSeeMasonAnswers","CommentPost","subtree","check","JSON","stringify","join","postHeaderIndex","splice","DiscussionControls","override","original","model","type"],"sourceRoot":""} \ No newline at end of file diff --git a/js/package-lock.json b/js/package-lock.json index 6d7da5d..db1adab 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -18,8 +18,9 @@ }, "node_modules/@ampproject/remapping": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.1.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -30,8 +31,9 @@ }, "node_modules/@babel/code-frame": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -40,28 +42,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz", + "integrity": "sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz", + "integrity": "sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.1", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -77,11 +81,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.18.7", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", + "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.7", + "@babel/types": "^7.19.0", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -91,8 +96,9 @@ }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -104,8 +110,9 @@ }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -114,25 +121,27 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz", + "integrity": "sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.18.6", + "@babel/compat-data": "^7.19.1", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" }, "engines": { @@ -143,16 +152,17 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-member-expression-to-functions": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", "@babel/helper-split-export-declaration": "^7.18.6" }, "engines": { @@ -163,9 +173,10 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "regexpu-core": "^5.1.0" @@ -178,14 +189,13 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -196,17 +206,19 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -215,12 +227,13 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -228,8 +241,9 @@ }, "node_modules/@babel/helper-hoist-variables": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -238,11 +252,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -250,8 +265,9 @@ }, "node_modules/@babel/helper-module-imports": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -260,18 +276,19 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", "@babel/helper-simple-access": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -279,8 +296,9 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -289,22 +307,24 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-wrap-function": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -314,15 +334,16 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-member-expression-to-functions": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -330,8 +351,9 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -340,11 +362,12 @@ } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -352,8 +375,9 @@ }, "node_modules/@babel/helper-split-export-declaration": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.18.6" }, @@ -361,44 +385,57 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -406,8 +443,9 @@ }, "node_modules/@babel/highlight": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -418,9 +456,10 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.1.tgz", + "integrity": "sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -430,8 +469,9 @@ }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -443,13 +483,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -459,13 +500,14 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -477,8 +519,9 @@ }, "node_modules/@babel/plugin-proposal-class-properties": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -492,8 +535,9 @@ }, "node_modules/@babel/plugin-proposal-class-static-block": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6", @@ -508,8 +552,9 @@ }, "node_modules/@babel/plugin-proposal-dynamic-import": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-dynamic-import": "^7.8.3" @@ -522,11 +567,12 @@ } }, "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -538,8 +584,9 @@ }, "node_modules/@babel/plugin-proposal-json-strings": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-json-strings": "^7.8.3" @@ -552,11 +599,12 @@ } }, "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -568,8 +616,9 @@ }, "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" @@ -583,8 +632,9 @@ }, "node_modules/@babel/plugin-proposal-numeric-separator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-numeric-separator": "^7.10.4" @@ -597,15 +647,16 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.6" + "@babel/plugin-transform-parameters": "^7.18.8" }, "engines": { "node": ">=6.9.0" @@ -616,8 +667,9 @@ }, "node_modules/@babel/plugin-proposal-optional-catch-binding": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" @@ -630,12 +682,13 @@ } }, "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -647,8 +700,9 @@ }, "node_modules/@babel/plugin-proposal-private-methods": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-class-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -662,8 +716,9 @@ }, "node_modules/@babel/plugin-proposal-private-property-in-object": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-create-class-features-plugin": "^7.18.6", @@ -679,8 +734,9 @@ }, "node_modules/@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -694,8 +750,9 @@ }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -705,8 +762,9 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -716,8 +774,9 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -730,8 +789,9 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -741,8 +801,9 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -752,8 +813,9 @@ }, "node_modules/@babel/plugin-syntax-import-assertions": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -766,8 +828,9 @@ }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -777,8 +840,9 @@ }, "node_modules/@babel/plugin-syntax-jsx": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -791,8 +855,9 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -802,8 +867,9 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -813,8 +879,9 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -824,8 +891,9 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -835,8 +903,9 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -846,8 +915,9 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -857,8 +927,9 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -871,8 +942,9 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -885,8 +957,9 @@ }, "node_modules/@babel/plugin-syntax-typescript": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -899,8 +972,9 @@ }, "node_modules/@babel/plugin-transform-arrow-functions": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -913,8 +987,9 @@ }, "node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6", @@ -929,8 +1004,9 @@ }, "node_modules/@babel/plugin-transform-block-scoped-functions": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -942,11 +1018,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -956,16 +1033,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" }, @@ -977,11 +1056,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -991,11 +1071,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.18.6", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1006,8 +1087,9 @@ }, "node_modules/@babel/plugin-transform-dotall-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1020,11 +1102,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1035,8 +1118,9 @@ }, "node_modules/@babel/plugin-transform-exponentiation-operator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1049,9 +1133,10 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.6", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1063,13 +1148,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1079,11 +1165,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1094,8 +1181,9 @@ }, "node_modules/@babel/plugin-transform-member-expression-literals": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1108,8 +1196,9 @@ }, "node_modules/@babel/plugin-transform-modules-amd": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6", @@ -1124,8 +1213,9 @@ }, "node_modules/@babel/plugin-transform-modules-commonjs": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6", @@ -1140,13 +1230,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-identifier": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" }, @@ -1159,8 +1250,9 @@ }, "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-transforms": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1173,12 +1265,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1189,8 +1282,9 @@ }, "node_modules/@babel/plugin-transform-new-target": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1203,8 +1297,9 @@ }, "node_modules/@babel/plugin-transform-object-assign": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz", + "integrity": "sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1217,8 +1312,9 @@ }, "node_modules/@babel/plugin-transform-object-super": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/helper-replace-supers": "^7.18.6" @@ -1231,9 +1327,10 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.18.6", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1246,8 +1343,9 @@ }, "node_modules/@babel/plugin-transform-property-literals": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1260,8 +1358,9 @@ }, "node_modules/@babel/plugin-transform-react-display-name": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1273,15 +1372,16 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.0" }, "engines": { "node": ">=6.9.0" @@ -1292,8 +1392,9 @@ }, "node_modules/@babel/plugin-transform-react-jsx-development": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/plugin-transform-react-jsx": "^7.18.6" }, @@ -1306,8 +1407,9 @@ }, "node_modules/@babel/plugin-transform-react-pure-annotations": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1321,8 +1423,9 @@ }, "node_modules/@babel/plugin-transform-regenerator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "regenerator-transform": "^0.15.0" @@ -1336,8 +1439,9 @@ }, "node_modules/@babel/plugin-transform-reserved-words": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1349,15 +1453,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", + "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" }, "engines": { @@ -1369,8 +1474,9 @@ }, "node_modules/@babel/plugin-transform-shorthand-properties": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1382,12 +1488,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1398,8 +1505,9 @@ }, "node_modules/@babel/plugin-transform-sticky-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6" }, @@ -1411,11 +1519,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1425,11 +1534,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1439,12 +1549,13 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.1.tgz", + "integrity": "sha512-+ILcOU+6mWLlvCwnL920m2Ow3wWx3Wo8n2t5aROQmV55GZt+hOiLvBaa3DNzRjSEHa1aauRs4/YLmkCfFkhhRQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-typescript": "^7.18.6" }, "engines": { @@ -1455,11 +1566,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" }, "engines": { "node": ">=6.9.0" @@ -1470,8 +1582,9 @@ }, "node_modules/@babel/plugin-transform-unicode-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1484,28 +1597,29 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.1.tgz", + "integrity": "sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.19.1", + "@babel/helper-compilation-targets": "^7.19.1", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.18.6", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", @@ -1527,41 +1641,41 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.6", - "@babel/plugin-transform-classes": "^7.18.6", - "@babel/plugin-transform-computed-properties": "^7.18.6", - "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.13", "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.6", - "@babel/plugin-transform-function-name": "^7.18.6", - "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", "@babel/plugin-transform-modules-amd": "^7.18.6", "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.6", - "@babel/plugin-transform-typeof-symbol": "^7.18.6", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" }, "engines": { @@ -1573,8 +1687,9 @@ }, "node_modules/@babel/preset-modules": { "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -1588,8 +1703,9 @@ }, "node_modules/@babel/preset-react": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/helper-validator-option": "^7.18.6", @@ -1607,8 +1723,9 @@ }, "node_modules/@babel/preset-typescript": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.18.6", "@babel/helper-validator-option": "^7.18.6", @@ -1622,9 +1739,10 @@ } }, "node_modules/@babel/runtime": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", "dev": true, - "license": "MIT", "dependencies": { "regenerator-runtime": "^0.13.4" }, @@ -1633,31 +1751,33 @@ } }, "node_modules/@babel/template": { - "version": "7.18.6", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.1.tgz", + "integrity": "sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/parser": "^7.19.1", + "@babel/types": "^7.19.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1666,10 +1786,12 @@ } }, "node_modules/@babel/types": { - "version": "7.18.7", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", + "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", "dev": true, - "license": "MIT", "dependencies": { + "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" }, @@ -1679,16 +1801,18 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } }, "node_modules/@jridgewell/gen-mapping": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1698,25 +1822,28 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.8", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/source-map": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -1724,8 +1851,9 @@ }, "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -1737,13 +1865,15 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -1751,13 +1881,15 @@ }, "node_modules/@polka/url": { "version": "1.0.0-next.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true }, "node_modules/@types/eslint": { - "version": "8.4.5", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -1765,8 +1897,9 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -1774,46 +1907,54 @@ }, "node_modules/@types/estree": { "version": "0.0.51", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true }, "node_modules/@types/jquery": { "version": "3.5.14", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.14.tgz", + "integrity": "sha512-X1gtMRMbziVQkErhTQmSe2jFwwENA/Zr+PprCkF63vFq+Yt5PZ4AlKqgmeNlwgn7dhsXEK888eIW2520EpC+xg==", "dev": true, - "license": "MIT", "dependencies": { "@types/sizzle": "*" } }, "node_modules/@types/json-schema": { "version": "7.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true }, "node_modules/@types/mithril": { "version": "2.0.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.11.tgz", + "integrity": "sha512-2tYTImXc7RzWkPpgcbnSKpV46DQI4Bm8CfgmkrIbst8MJlX6d8hdgy2yQCEf5NZYLGNyK4xbzb4rr8VPmk0iXQ==", + "dev": true }, "node_modules/@types/node": { - "version": "18.0.1", - "dev": true, - "license": "MIT" + "version": "18.7.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.18.tgz", + "integrity": "sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==", + "dev": true }, "node_modules/@types/sizzle": { "version": "2.3.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true }, "node_modules/@types/throttle-debounce": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==", + "dev": true }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1" @@ -1821,23 +1962,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -1846,13 +1991,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -1862,29 +2009,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -1898,8 +2049,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.1", @@ -1910,8 +2062,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-buffer": "1.11.1", @@ -1921,8 +2074,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/helper-api-error": "1.11.1", @@ -1934,8 +2088,9 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.1", "@xtuc/long": "4.2.2" @@ -1943,8 +2098,9 @@ }, "node_modules/@webpack-cli/configtest": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" @@ -1952,8 +2108,9 @@ }, "node_modules/@webpack-cli/info": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, - "license": "MIT", "dependencies": { "envinfo": "^7.7.3" }, @@ -1963,8 +2120,9 @@ }, "node_modules/@webpack-cli/serve": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack-cli": "4.x.x" }, @@ -1976,18 +2134,21 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/acorn": { - "version": "8.7.1", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1997,24 +2158,27 @@ }, "node_modules/acorn-import-assertions": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^8" } }, "node_modules/acorn-walk": { "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2028,16 +2192,18 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -2047,8 +2213,9 @@ }, "node_modules/babel-loader": { "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, - "license": "MIT", "dependencies": { "find-cache-dir": "^3.3.1", "loader-utils": "^2.0.0", @@ -2065,19 +2232,21 @@ }, "node_modules/babel-plugin-dynamic-import-node": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, - "license": "MIT", "dependencies": { "object.assign": "^4.1.0" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" }, "peerDependencies": { @@ -2085,23 +2254,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.2", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2109,14 +2280,17 @@ }, "node_modules/big.js": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/browserslist": { - "version": "4.21.1", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "funding": [ { @@ -2128,12 +2302,11 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001359", - "electron-to-chromium": "^1.4.172", - "node-releases": "^2.0.5", - "update-browserslist-db": "^1.0.4" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" }, "bin": { "browserslist": "cli.js" @@ -2144,13 +2317,15 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -2160,7 +2335,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001363", + "version": "1.0.30001409", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001409.tgz", + "integrity": "sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==", "dev": true, "funding": [ { @@ -2171,13 +2348,13 @@ "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -2189,16 +2366,18 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0" } }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -2210,65 +2389,64 @@ }, "node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, "node_modules/colorette": { "version": "2.0.19", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true }, "node_modules/commander": { "version": "2.20.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/commondir": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, "node_modules/convert-source-map": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.1" } }, "node_modules/core-js-compat": { - "version": "3.23.3", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.2.tgz", + "integrity": "sha512-TxfyECD4smdn3/CjWxczVtJqVLEEC2up7/82t7vC0AzNogr+4nQ8vyF7abxAuTXWvjTClSbvGhU0RgqA4ToQaQ==", "dev": true, - "license": "MIT", "dependencies": { - "browserslist": "^4.21.0", - "semver": "7.0.0" + "browserslist": "^4.21.4" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "url": "https://opencollective.com/core-js" } }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2279,14 +2457,16 @@ } }, "node_modules/dayjs": { - "version": "1.11.3", - "dev": true, - "license": "MIT" + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz", + "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==", + "dev": true }, "node_modules/debug": { "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -2301,8 +2481,9 @@ }, "node_modules/define-properties": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, - "license": "MIT", "dependencies": { "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" @@ -2316,26 +2497,30 @@ }, "node_modules/duplexer": { "version": "0.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.177", - "dev": true, - "license": "ISC" + "version": "1.4.257", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz", + "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==", + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/enhanced-resolve": { "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -2346,8 +2531,9 @@ }, "node_modules/envinfo": { "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -2357,29 +2543,33 @@ }, "node_modules/es-module-lexer": { "version": "0.9.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true }, "node_modules/escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -2390,8 +2580,9 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2401,55 +2592,66 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 4.9.1" + } }, "node_modules/find-cache-dir": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", @@ -2464,8 +2666,9 @@ }, "node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -2476,8 +2679,9 @@ }, "node_modules/flarum-tsconfig": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flarum-tsconfig/-/flarum-tsconfig-1.0.2.tgz", + "integrity": "sha512-RUaN7D6noLK9vY1F86NIc+IlIP1YAA3bJ4jGR5pIm8UxvLBLW8qrAHzIosuQJgvnge7VgTA5c2LoNefUK/9EiQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/jquery": "^3.5.5", "@types/mithril": "^2.0.7", @@ -2487,8 +2691,9 @@ }, "node_modules/flarum-webpack-config": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-2.0.0.tgz", + "integrity": "sha512-IdH8SmPzrha1RYIx0VDowKu8Wbxb1X5GwpJ6McF6tWfmIEBOn0z2C2MKh3807cxumBx4DP3YvZCcO5Il8zJGhA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/core": "^7.14.3", "@babel/plugin-proposal-class-properties": "^7.13.0", @@ -2510,21 +2715,24 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/get-intrinsic": { - "version": "1.1.2", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -2536,26 +2744,30 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/graceful-fs": { "version": "4.2.10", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true }, "node_modules/gzip-size": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, - "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -2568,8 +2780,9 @@ }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -2579,16 +2792,18 @@ }, "node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.1" }, @@ -2598,8 +2813,9 @@ }, "node_modules/has-symbols": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -2609,13 +2825,15 @@ }, "node_modules/html5sortable": { "version": "0.9.18", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html5sortable/-/html5sortable-0.9.18.tgz", + "integrity": "sha512-5O0toaQ/rG9rI7weESyCOQ4SPnR+1qXYqkPmMEd4vMYmrYiDhLdV1wYHZ+w22AhSKQdccRgNMjfR4HeJh2alpw==", + "dev": true }, "node_modules/import-local": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -2632,16 +2850,18 @@ }, "node_modules/interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/is-core-module": { - "version": "2.9.0", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -2651,8 +2871,9 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -2662,21 +2883,24 @@ }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -2688,16 +2912,18 @@ }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2710,13 +2936,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/jsesc": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -2726,18 +2954,21 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json5": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true, - "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -2747,24 +2978,27 @@ }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/loader-runner": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/loader-utils": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, - "license": "MIT", "dependencies": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -2776,8 +3010,9 @@ }, "node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -2787,18 +3022,21 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.debounce": { "version": "4.0.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, "node_modules/make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -2811,21 +3049,24 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/mime-db": { "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -2835,43 +3076,49 @@ }, "node_modules/mrmime": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/node-releases": { - "version": "2.0.5", - "dev": true, - "license": "MIT" + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.2", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, "engines": { @@ -2883,16 +3130,18 @@ }, "node_modules/opener": { "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true, - "license": "(WTFPL OR MIT)", "bin": { "opener": "bin/opener-bin.js" } }, "node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -2905,8 +3154,9 @@ }, "node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -2916,42 +3166,48 @@ }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -2961,8 +3217,9 @@ }, "node_modules/prettier": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin-prettier.js" }, @@ -2975,24 +3232,27 @@ }, "node_modules/punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/rechoir": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -3002,13 +3262,15 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -3018,26 +3280,29 @@ }, "node_modules/regenerator-runtime": { "version": "0.13.9", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true }, "node_modules/regenerator-transform": { "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexpu-core": { - "version": "5.1.0", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" }, @@ -3046,14 +3311,16 @@ } }, "node_modules/regjsgen": { - "version": "0.6.0", - "dev": true, - "license": "MIT" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", + "dev": true }, "node_modules/regjsparser": { - "version": "0.8.4", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -3063,6 +3330,8 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, "bin": { "jsesc": "bin/jsesc" @@ -3070,8 +3339,9 @@ }, "node_modules/resolve": { "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -3086,8 +3356,9 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -3097,21 +3368,24 @@ }, "node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/schema-utils": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.5", "ajv": "^6.12.4", @@ -3127,24 +3401,27 @@ }, "node_modules/semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/serialize-javascript": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -3154,8 +3431,9 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -3165,16 +3443,18 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/sirv": { "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", "dev": true, - "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.20", "mrmime": "^1.0.0", @@ -3186,16 +3466,18 @@ }, "node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -3203,8 +3485,9 @@ }, "node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -3214,8 +3497,9 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3225,16 +3509,18 @@ }, "node_modules/tapable": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terser": { - "version": "5.14.1", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", + "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.2", "acorn": "^8.5.0", @@ -3249,15 +3535,16 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.3", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "terser": "^5.7.2" + "terser": "^5.14.1" }, "engines": { "node": ">= 10.13.0" @@ -3283,8 +3570,9 @@ }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -3300,24 +3588,27 @@ }, "node_modules/to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/totalist": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/typescript": { - "version": "4.7.4", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", + "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", "dev": true, - "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -3328,16 +3619,18 @@ }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -3348,22 +3641,26 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/update-browserslist-db": { - "version": "1.0.4", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", "dev": true, "funding": [ { @@ -3375,7 +3672,6 @@ "url": "https://tidelift.com/funding/github/npm/browserslist" } ], - "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" @@ -3389,16 +3685,18 @@ }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/watchpack": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -3408,20 +3706,21 @@ } }, "node_modules/webpack": { - "version": "5.73.0", + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^0.0.51", "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -3434,7 +3733,7 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "bin": { @@ -3454,9 +3753,10 @@ } }, "node_modules/webpack-bundle-analyzer": { - "version": "4.5.0", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz", + "integrity": "sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==", "dev": true, - "license": "MIT", "dependencies": { "acorn": "^8.0.4", "acorn-walk": "^8.0.0", @@ -3477,8 +3777,9 @@ }, "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -3491,8 +3792,9 @@ }, "node_modules/webpack-bundle-analyzer/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3506,8 +3808,9 @@ }, "node_modules/webpack-bundle-analyzer/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -3517,29 +3820,33 @@ }, "node_modules/webpack-bundle-analyzer/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/webpack-bundle-analyzer/node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -3549,8 +3856,9 @@ }, "node_modules/webpack-cli": { "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^1.2.0", @@ -3595,16 +3903,18 @@ }, "node_modules/webpack-cli/node_modules/commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-merge": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -3615,16 +3925,18 @@ }, "node_modules/webpack-sources": { "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.13.0" } }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -3640,8 +3952,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3654,13 +3967,15 @@ }, "node_modules/wildcard": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true }, "node_modules/ws": { - "version": "7.5.8", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.3.0" }, @@ -3681,6 +3996,8 @@ "dependencies": { "@ampproject/remapping": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.1.0", @@ -3689,29 +4006,35 @@ }, "@babel/code-frame": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", "dev": true, "requires": { "@babel/highlight": "^7.18.6" } }, "@babel/compat-data": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.1.tgz", + "integrity": "sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg==", "dev": true }, "@babel/core": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.1.tgz", + "integrity": "sha512-1H8VgqXme4UXCRv7/Wa1bq7RVymKOzC7znjyFM8KiEzwFqcKUKYNoQef4GhdklgNvoBXyW4gYhuBNCM5o1zImw==", "dev": true, "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helpers": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.1", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.1", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -3720,16 +4043,20 @@ } }, "@babel/generator": { - "version": "7.18.7", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", + "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", "dev": true, "requires": { - "@babel/types": "^7.18.7", + "@babel/types": "^7.19.0", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, "dependencies": { "@jridgewell/gen-mapping": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -3741,44 +4068,54 @@ }, "@babel/helper-annotate-as-pure": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", "dev": true, "requires": { "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.18.9" } }, "@babel/helper-compilation-targets": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz", + "integrity": "sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.6", + "@babel/compat-data": "^7.19.1", "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", + "browserslist": "^4.21.3", "semver": "^6.3.0" } }, "@babel/helper-create-class-features-plugin": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz", + "integrity": "sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-member-expression-to-functions": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", "@babel/helper-split-export-declaration": "^7.18.6" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz", + "integrity": "sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", @@ -3786,13 +4123,13 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.1", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", "resolve": "^1.14.2", @@ -3800,141 +4137,185 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", "dev": true }, "@babel/helper-explode-assignable-expression": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-function-name": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" } }, "@babel/helper-hoist-variables": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.18.9" } }, "@babel/helper-module-imports": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-module-transforms": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", "@babel/helper-simple-access": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helper-optimise-call-expression": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-plugin-utils": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-wrap-function": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" } }, "@babel/helper-replace-supers": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz", + "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-member-expression-to-functions": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/traverse": "^7.19.1", + "@babel/types": "^7.19.0" } }, "@babel/helper-simple-access": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.18.9" } }, "@babel/helper-split-export-declaration": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", "dev": true, "requires": { "@babel/types": "^7.18.6" } }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, "@babel/helper-validator-option": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", "dev": true }, "@babel/helper-wrap-function": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz", + "integrity": "sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.18.6", - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/helpers": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", "dev": true, "requires": { - "@babel/template": "^7.18.6", - "@babel/traverse": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" } }, "@babel/highlight": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.18.6", @@ -3943,37 +4324,47 @@ } }, "@babel/parser": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.1.tgz", + "integrity": "sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz", + "integrity": "sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-remap-async-to-generator": "^7.18.9", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.18.6", @@ -3982,6 +4373,8 @@ }, "@babel/plugin-proposal-class-static-block": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.18.6", @@ -3991,6 +4384,8 @@ }, "@babel/plugin-proposal-dynamic-import": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -3998,15 +4393,19 @@ } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4014,15 +4413,19 @@ } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4031,6 +4434,8 @@ }, "@babel/plugin-proposal-numeric-separator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4038,18 +4443,22 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.18.6" + "@babel/plugin-transform-parameters": "^7.18.8" } }, "@babel/plugin-proposal-optional-catch-binding": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4057,16 +4466,20 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", "dev": true, "requires": { "@babel/helper-create-class-features-plugin": "^7.18.6", @@ -4075,6 +4488,8 @@ }, "@babel/plugin-proposal-private-property-in-object": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", @@ -4085,6 +4500,8 @@ }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -4093,6 +4510,8 @@ }, "@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4100,6 +4519,8 @@ }, "@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.12.13" @@ -4107,6 +4528,8 @@ }, "@babel/plugin-syntax-class-static-block": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -4114,6 +4537,8 @@ }, "@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4121,6 +4546,8 @@ }, "@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -4128,6 +4555,8 @@ }, "@babel/plugin-syntax-import-assertions": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4135,6 +4564,8 @@ }, "@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4142,6 +4573,8 @@ }, "@babel/plugin-syntax-jsx": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4149,6 +4582,8 @@ }, "@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -4156,6 +4591,8 @@ }, "@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4163,6 +4600,8 @@ }, "@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.10.4" @@ -4170,6 +4609,8 @@ }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4177,6 +4618,8 @@ }, "@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4184,6 +4627,8 @@ }, "@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -4191,6 +4636,8 @@ }, "@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -4198,6 +4645,8 @@ }, "@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5" @@ -4205,6 +4654,8 @@ }, "@babel/plugin-syntax-typescript": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz", + "integrity": "sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4212,6 +4663,8 @@ }, "@babel/plugin-transform-arrow-functions": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4219,6 +4672,8 @@ }, "@babel/plugin-transform-async-to-generator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", @@ -4228,48 +4683,61 @@ }, "@babel/plugin-transform-block-scoped-functions": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-classes": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz", + "integrity": "sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-replace-supers": "^7.18.9", "@babel/helper-split-export-declaration": "^7.18.6", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.6", + "version": "7.18.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", + "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-dotall-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -4277,14 +4745,18 @@ } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-exponentiation-operator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", "dev": true, "requires": { "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", @@ -4292,30 +4764,38 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.18.6", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-function-name": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-literals": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-member-expression-literals": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4323,6 +4803,8 @@ }, "@babel/plugin-transform-modules-amd": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.18.6", @@ -4332,6 +4814,8 @@ }, "@babel/plugin-transform-modules-commonjs": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.18.6", @@ -4341,18 +4825,22 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz", + "integrity": "sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A==", "dev": true, "requires": { "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-identifier": "^7.18.6", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.18.6", @@ -4360,15 +4848,19 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz", + "integrity": "sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-new-target": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4376,6 +4868,8 @@ }, "@babel/plugin-transform-object-assign": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.18.6.tgz", + "integrity": "sha512-mQisZ3JfqWh2gVXvfqYCAAyRs6+7oev+myBsTwW5RnPhYXOTuCEw2oe3YgxlXMViXUS53lG8koulI7mJ+8JE+A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4383,6 +4877,8 @@ }, "@babel/plugin-transform-object-super": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4390,7 +4886,9 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.18.6", + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4398,6 +4896,8 @@ }, "@babel/plugin-transform-property-literals": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" @@ -4405,24 +4905,30 @@ }, "@babel/plugin-transform-react-display-name": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.0" } }, "@babel/plugin-transform-react-jsx-development": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", "dev": true, "requires": { "@babel/plugin-transform-react-jsx": "^7.18.6" @@ -4430,6 +4936,8 @@ }, "@babel/plugin-transform-react-pure-annotations": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.18.6", @@ -4438,6 +4946,8 @@ }, "@babel/plugin-transform-regenerator": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4446,77 +4956,97 @@ }, "@babel/plugin-transform-reserved-words": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-runtime": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz", + "integrity": "sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", + "@babel/helper-plugin-utils": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", "semver": "^6.3.0" } }, "@babel/plugin-transform-shorthand-properties": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-spread": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz", + "integrity": "sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-skip-transparent-expression-wrappers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" } }, "@babel/plugin-transform-sticky-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-transform-template-literals": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.18.6", + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-typescript": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.1.tgz", + "integrity": "sha512-+ILcOU+6mWLlvCwnL920m2Ow3wWx3Wo8n2t5aROQmV55GZt+hOiLvBaa3DNzRjSEHa1aauRs4/YLmkCfFkhhRQ==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.19.0", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-typescript": "^7.18.6" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.18.6", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.18.9" } }, "@babel/plugin-transform-unicode-regex": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", @@ -4524,27 +5054,29 @@ } }, "@babel/preset-env": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.1.tgz", + "integrity": "sha512-c8B2c6D16Lp+Nt6HcD+nHl0VbPKVnNPTpszahuxJJnurfMtKeZ80A+qUv48Y7wqvS+dTFuLuaM9oYxyNHbCLWA==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.6", - "@babel/helper-compilation-targets": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", + "@babel/compat-data": "^7.19.1", + "@babel/helper-compilation-targets": "^7.19.1", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/helper-validator-option": "^7.18.6", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", - "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", + "@babel/plugin-proposal-async-generator-functions": "^7.19.1", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-class-static-block": "^7.18.6", "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.9", "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.9", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.18.6", "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", @@ -4566,46 +5098,48 @@ "@babel/plugin-transform-arrow-functions": "^7.18.6", "@babel/plugin-transform-async-to-generator": "^7.18.6", "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.18.6", - "@babel/plugin-transform-classes": "^7.18.6", - "@babel/plugin-transform-computed-properties": "^7.18.6", - "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.9", + "@babel/plugin-transform-classes": "^7.19.0", + "@babel/plugin-transform-computed-properties": "^7.18.9", + "@babel/plugin-transform-destructuring": "^7.18.13", "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.6", - "@babel/plugin-transform-function-name": "^7.18.6", - "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.8", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", "@babel/plugin-transform-member-expression-literals": "^7.18.6", "@babel/plugin-transform-modules-amd": "^7.18.6", "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.19.0", "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", "@babel/plugin-transform-new-target": "^7.18.6", "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.8", "@babel/plugin-transform-property-literals": "^7.18.6", "@babel/plugin-transform-regenerator": "^7.18.6", "@babel/plugin-transform-reserved-words": "^7.18.6", "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-spread": "^7.19.0", "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.6", - "@babel/plugin-transform-typeof-symbol": "^7.18.6", - "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", "@babel/plugin-transform-unicode-regex": "^7.18.6", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.18.6", - "babel-plugin-polyfill-corejs2": "^0.3.1", - "babel-plugin-polyfill-corejs3": "^0.5.2", - "babel-plugin-polyfill-regenerator": "^0.3.1", - "core-js-compat": "^3.22.1", + "@babel/types": "^7.19.0", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", "semver": "^6.3.0" } }, "@babel/preset-modules": { "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -4617,6 +5151,8 @@ }, "@babel/preset-react": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4629,6 +5165,8 @@ }, "@babel/preset-typescript": { "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz", + "integrity": "sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.18.6", @@ -4637,51 +5175,64 @@ } }, "@babel/runtime": { - "version": "7.18.6", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.18.6", + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6" + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" } }, "@babel/traverse": { - "version": "7.18.6", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.1.tgz", + "integrity": "sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.6", - "@babel/helper-function-name": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.18.6", - "@babel/types": "^7.18.6", + "@babel/parser": "^7.19.1", + "@babel/types": "^7.19.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.18.7", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", + "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", "dev": true, "requires": { + "@babel/helper-string-parser": "^7.18.10", "@babel/helper-validator-identifier": "^7.18.6", "to-fast-properties": "^2.0.0" } }, "@discoveryjs/json-ext": { "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", "dev": true }, "@jridgewell/gen-mapping": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.0", @@ -4689,15 +5240,21 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.8", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true }, "@jridgewell/set-array": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true }, "@jridgewell/source-map": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", "dev": true, "requires": { "@jridgewell/gen-mapping": "^0.3.0", @@ -4706,6 +5263,8 @@ "dependencies": { "@jridgewell/gen-mapping": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", "dev": true, "requires": { "@jridgewell/set-array": "^1.0.1", @@ -4717,10 +5276,14 @@ }, "@jridgewell/sourcemap-codec": { "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.14", + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -4729,10 +5292,14 @@ }, "@polka/url": { "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, "@types/eslint": { - "version": "8.4.5", + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", + "integrity": "sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g==", "dev": true, "requires": { "@types/estree": "*", @@ -4741,6 +5308,8 @@ }, "@types/eslint-scope": { "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, "requires": { "@types/eslint": "*", @@ -4749,10 +5318,14 @@ }, "@types/estree": { "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", "dev": true }, "@types/jquery": { "version": "3.5.14", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.14.tgz", + "integrity": "sha512-X1gtMRMbziVQkErhTQmSe2jFwwENA/Zr+PprCkF63vFq+Yt5PZ4AlKqgmeNlwgn7dhsXEK888eIW2520EpC+xg==", "dev": true, "requires": { "@types/sizzle": "*" @@ -4760,26 +5333,38 @@ }, "@types/json-schema": { "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, "@types/mithril": { "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/mithril/-/mithril-2.0.11.tgz", + "integrity": "sha512-2tYTImXc7RzWkPpgcbnSKpV46DQI4Bm8CfgmkrIbst8MJlX6d8hdgy2yQCEf5NZYLGNyK4xbzb4rr8VPmk0iXQ==", "dev": true }, "@types/node": { - "version": "18.0.1", + "version": "18.7.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.18.tgz", + "integrity": "sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg==", "dev": true }, "@types/sizzle": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", "dev": true }, "@types/throttle-debounce": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz", + "integrity": "sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==", "dev": true }, "@webassemblyjs/ast": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.1", @@ -4788,18 +5373,26 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.1", @@ -4809,10 +5402,14 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -4823,6 +5420,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -4830,6 +5429,8 @@ }, "@webassemblyjs/leb128": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -4837,10 +5438,14 @@ }, "@webassemblyjs/utf8": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -4855,6 +5460,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -4866,6 +5473,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -4876,6 +5485,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -4888,6 +5499,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.1", @@ -4896,11 +5509,15 @@ }, "@webpack-cli/configtest": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz", + "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz", + "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==", "dev": true, "requires": { "envinfo": "^7.7.3" @@ -4908,32 +5525,46 @@ }, "@webpack-cli/serve": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz", + "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==", "dev": true, "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "acorn": { - "version": "8.7.1", + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", "dev": true }, "acorn-import-assertions": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, "requires": {} }, "acorn-walk": { "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -4944,11 +5575,15 @@ }, "ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -4956,6 +5591,8 @@ }, "babel-loader": { "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", @@ -4966,55 +5603,71 @@ }, "babel-plugin-dynamic-import-node": { "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", "dev": true, "requires": { "object.assign": "^4.1.0" } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.1", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", "semver": "^6.1.1" } }, "babel-plugin-polyfill-corejs3": { - "version": "0.5.2", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.3.1", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.1" + "@babel/helper-define-polyfill-provider": "^0.3.3" } }, "big.js": { "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", "dev": true }, "browserslist": { - "version": "4.21.1", + "version": "4.21.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz", + "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001359", - "electron-to-chromium": "^1.4.172", - "node-releases": "^2.0.5", - "update-browserslist-db": "^1.0.4" + "caniuse-lite": "^1.0.30001400", + "electron-to-chromium": "^1.4.251", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.9" } }, "buffer-from": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true }, "call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -5022,11 +5675,15 @@ } }, "caniuse-lite": { - "version": "1.0.30001363", + "version": "1.0.30001409", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001409.tgz", + "integrity": "sha512-V0mnJ5dwarmhYv8/MzhJ//aW68UpvnQBXv8lJ2QUsvn2pHcmAuNtu8hQEDz37XnA1iE+lRR9CIfGWWpgJ5QedQ==", "dev": true }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -5036,10 +5693,14 @@ }, "chrome-trace-event": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", "dev": true }, "clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -5049,6 +5710,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -5056,43 +5719,50 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, "colorette": { "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", "dev": true }, "commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "commondir": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, "convert-source-map": { "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" } }, "core-js-compat": { - "version": "3.23.3", + "version": "3.25.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.2.tgz", + "integrity": "sha512-TxfyECD4smdn3/CjWxczVtJqVLEEC2up7/82t7vC0AzNogr+4nQ8vyF7abxAuTXWvjTClSbvGhU0RgqA4ToQaQ==", "dev": true, "requires": { - "browserslist": "^4.21.0", - "semver": "7.0.0" - }, - "dependencies": { - "semver": { - "version": "7.0.0", - "dev": true - } + "browserslist": "^4.21.4" } }, "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -5101,11 +5771,15 @@ } }, "dayjs": { - "version": "1.11.3", + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.5.tgz", + "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA==", "dev": true }, "debug": { "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -5113,6 +5787,8 @@ }, "define-properties": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "dev": true, "requires": { "has-property-descriptors": "^1.0.0", @@ -5121,18 +5797,26 @@ }, "duplexer": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, "electron-to-chromium": { - "version": "1.4.177", + "version": "1.4.257", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.257.tgz", + "integrity": "sha512-C65sIwHqNnPC2ADMfse/jWTtmhZMII+x6ADI9gENzrOiI7BpxmfKFE84WkIEl5wEg+7+SfIkwChDlsd1Erju2A==", "dev": true }, "emojis-list": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, "enhanced-resolve": { "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -5141,22 +5825,32 @@ }, "envinfo": { "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", "dev": true }, "es-module-lexer": { "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "dev": true }, "escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true }, "eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -5165,6 +5859,8 @@ }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -5172,36 +5868,52 @@ "dependencies": { "estraverse": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } }, "estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fastest-levenshtein": { - "version": "1.0.12", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", + "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, "find-cache-dir": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, "requires": { "commondir": "^1.0.1", @@ -5211,6 +5923,8 @@ }, "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -5219,6 +5933,8 @@ }, "flarum-tsconfig": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flarum-tsconfig/-/flarum-tsconfig-1.0.2.tgz", + "integrity": "sha512-RUaN7D6noLK9vY1F86NIc+IlIP1YAA3bJ4jGR5pIm8UxvLBLW8qrAHzIosuQJgvnge7VgTA5c2LoNefUK/9EiQ==", "dev": true, "requires": { "@types/jquery": "^3.5.5", @@ -5229,6 +5945,8 @@ }, "flarum-webpack-config": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/flarum-webpack-config/-/flarum-webpack-config-2.0.0.tgz", + "integrity": "sha512-IdH8SmPzrha1RYIx0VDowKu8Wbxb1X5GwpJ6McF6tWfmIEBOn0z2C2MKh3807cxumBx4DP3YvZCcO5Il8zJGhA==", "dev": true, "requires": { "@babel/core": "^7.14.3", @@ -5248,14 +5966,20 @@ }, "function-bind": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "gensync": { "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, "get-intrinsic": { - "version": "1.1.2", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -5265,18 +5989,26 @@ }, "glob-to-regexp": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "globals": { "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "graceful-fs": { "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, "gzip-size": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", "dev": true, "requires": { "duplexer": "^0.1.2" @@ -5284,6 +6016,8 @@ }, "has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" @@ -5291,10 +6025,14 @@ }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "has-property-descriptors": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", "dev": true, "requires": { "get-intrinsic": "^1.1.1" @@ -5302,14 +6040,20 @@ }, "has-symbols": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "html5sortable": { "version": "0.9.18", + "resolved": "https://registry.npmjs.org/html5sortable/-/html5sortable-0.9.18.tgz", + "integrity": "sha512-5O0toaQ/rG9rI7weESyCOQ4SPnR+1qXYqkPmMEd4vMYmrYiDhLdV1wYHZ+w22AhSKQdccRgNMjfR4HeJh2alpw==", "dev": true }, "import-local": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -5318,10 +6062,14 @@ }, "interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, "is-core-module": { - "version": "2.9.0", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", "dev": true, "requires": { "has": "^1.0.3" @@ -5329,6 +6077,8 @@ }, "is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -5336,14 +6086,20 @@ }, "isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, "isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "jest-worker": { "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", @@ -5353,10 +6109,14 @@ "dependencies": { "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -5366,34 +6126,50 @@ }, "js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "jsesc": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-parse-even-better-errors": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json5": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", "dev": true }, "kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "loader-runner": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "loader-utils": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "dev": true, "requires": { "big.js": "^5.2.2", @@ -5403,6 +6179,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -5410,14 +6188,20 @@ }, "lodash": { "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.debounce": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, "make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -5425,14 +6209,20 @@ }, "merge-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "mime-db": { "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { "mime-db": "1.52.0" @@ -5440,40 +6230,56 @@ }, "mrmime": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", "dev": true }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "neo-async": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "node-releases": { - "version": "2.0.5", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", "dev": true }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { - "version": "4.1.2", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", "dev": true, "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", "object-keys": "^1.1.1" } }, "opener": { "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", "dev": true }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -5481,6 +6287,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -5488,26 +6296,38 @@ }, "p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "picocolors": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -5515,14 +6335,20 @@ }, "prettier": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", "dev": true }, "punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" @@ -5530,6 +6356,8 @@ }, "rechoir": { "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", "dev": true, "requires": { "resolve": "^1.9.0" @@ -5537,10 +6365,14 @@ }, "regenerate": { "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, "regenerate-unicode-properties": { - "version": "10.0.1", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, "requires": { "regenerate": "^1.4.2" @@ -5548,33 +6380,43 @@ }, "regenerator-runtime": { "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, "regenerator-transform": { "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", "dev": true, "requires": { "@babel/runtime": "^7.8.4" } }, "regexpu-core": { - "version": "5.1.0", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.1.tgz", + "integrity": "sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ==", "dev": true, "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsgen": "^0.7.1", + "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.6.0", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.7.1.tgz", + "integrity": "sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==", "dev": true }, "regjsparser": { - "version": "0.8.4", + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, "requires": { "jsesc": "~0.5.0" @@ -5582,12 +6424,16 @@ "dependencies": { "jsesc": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true } } }, "resolve": { "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", "dev": true, "requires": { "is-core-module": "^2.9.0", @@ -5597,6 +6443,8 @@ }, "resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -5604,14 +6452,20 @@ }, "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, "safe-buffer": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, "schema-utils": { "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", "dev": true, "requires": { "@types/json-schema": "^7.0.5", @@ -5621,10 +6475,14 @@ }, "semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "serialize-javascript": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -5632,6 +6490,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -5639,6 +6499,8 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -5646,10 +6508,14 @@ }, "shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "sirv": { "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", "dev": true, "requires": { "@polka/url": "^1.0.0-next.20", @@ -5659,10 +6525,14 @@ }, "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -5671,6 +6541,8 @@ }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -5678,14 +6550,20 @@ }, "supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true }, "tapable": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true }, "terser": { - "version": "5.14.1", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.15.0.tgz", + "integrity": "sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA==", "dev": true, "requires": { "@jridgewell/source-map": "^0.3.2", @@ -5695,18 +6573,22 @@ } }, "terser-webpack-plugin": { - "version": "5.3.3", + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz", + "integrity": "sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==", "dev": true, "requires": { - "@jridgewell/trace-mapping": "^0.3.7", + "@jridgewell/trace-mapping": "^0.3.14", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.0", - "terser": "^5.7.2" + "terser": "^5.14.1" }, "dependencies": { "schema-utils": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -5718,22 +6600,32 @@ }, "to-fast-properties": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true }, "totalist": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", "dev": true }, "typescript": { - "version": "4.7.4", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", + "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", "dev": true }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true }, "unicode-match-property-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, "requires": { "unicode-canonical-property-names-ecmascript": "^2.0.0", @@ -5742,14 +6634,20 @@ }, "unicode-match-property-value-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", "dev": true }, "unicode-property-aliases-ecmascript": { - "version": "2.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true }, "update-browserslist-db": { - "version": "1.0.4", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz", + "integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==", "dev": true, "requires": { "escalade": "^3.1.1", @@ -5758,6 +6656,8 @@ }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" @@ -5765,6 +6665,8 @@ }, "watchpack": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -5772,7 +6674,9 @@ } }, "webpack": { - "version": "5.73.0", + "version": "5.74.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.74.0.tgz", + "integrity": "sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", @@ -5780,11 +6684,11 @@ "@webassemblyjs/ast": "1.11.1", "@webassemblyjs/wasm-edit": "1.11.1", "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", + "acorn": "^8.7.1", "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.9.3", + "enhanced-resolve": "^5.10.0", "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -5797,12 +6701,14 @@ "schema-utils": "^3.1.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", + "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" }, "dependencies": { "schema-utils": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -5813,7 +6719,9 @@ } }, "webpack-bundle-analyzer": { - "version": "4.5.0", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.6.1.tgz", + "integrity": "sha512-oKz9Oz9j3rUciLNfpGFjOb49/jEpXNmWdVH8Ls//zNcnLlQdTGXQQMsBbb/gR7Zl8WNLxVCq+0Hqbx3zv6twBw==", "dev": true, "requires": { "acorn": "^8.0.4", @@ -5829,6 +6737,8 @@ "dependencies": { "ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -5836,6 +6746,8 @@ }, "chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -5844,6 +6756,8 @@ }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -5851,18 +6765,26 @@ }, "color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true }, "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -5872,6 +6794,8 @@ }, "webpack-cli": { "version": "4.10.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz", + "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -5890,12 +6814,16 @@ "dependencies": { "commander": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", "dev": true } } }, "webpack-merge": { "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -5904,10 +6832,14 @@ }, "webpack-sources": { "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -5915,10 +6847,14 @@ }, "wildcard": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "ws": { - "version": "7.5.8", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "dev": true, "requires": {} }