From 758d1d5d1dae5aab28b86e515e59f5f473110586 Mon Sep 17 00:00:00 2001 From: Floorb <132411956+Neetpone@users.noreply.github.com> Date: Mon, 27 Feb 2023 05:22:21 -0500 Subject: [PATCH] fix(tags): client-sided tag limit is better; tag highlighting rules slightly better --- admin/ajax_reports.php | 65 - admin/ajax_users.php | 57 - admin/ipbans.php | 9 - admin/js/index.php | 0 admin/sitemap.php | 244 --- admin/stats.php | 4 - config/.htaccess | 1 - includes/functions.php | 14 +- js/tag_input.js | 4 +- js/utils.js | 8 +- package.json | 7 +- public/assets/bundle/archive.js | 12 +- public/assets/bundle/archive.min.js | 2 +- public/assets/bundle/archive.min.js.map | 2 +- public/assets/bundle/generic.js | 4 +- public/assets/bundle/generic.min.js | 2 +- public/assets/bundle/generic.min.js.map | 2 +- public/assets/bundle/user_profile.js | 12 +- public/assets/bundle/user_profile.min.js | 2 +- public/assets/bundle/user_profile.min.js.map | 2 +- rollup.config.js | 4 +- theme/bulma/view.php | 1 + yarn.lock | 1753 ++++++++++-------- 23 files changed, 1015 insertions(+), 1196 deletions(-) delete mode 100644 admin/ajax_reports.php delete mode 100644 admin/ajax_users.php delete mode 100644 admin/js/index.php delete mode 100644 admin/sitemap.php delete mode 100644 config/.htaccess diff --git a/admin/ajax_reports.php b/admin/ajax_reports.php deleted file mode 100644 index 0f4765e..0000000 --- a/admin/ajax_reports.php +++ /dev/null @@ -1,65 +0,0 @@ - 'id', 'dt' => 0), - array('db' => 'm_report', 'dt' => 1), - array('db' => 'p_report', 'dt' => 2), - array('db' => 't_report', 'dt' => 3) -); - -$columns2 = array( - array('db' => 'id', 'dt' => 0), - array('db' => 'm_report', 'dt' => 1), - array('db' => 'p_report', 'dt' => 2), - array('db' => 't_report', 'dt' => 3), - array('db' => 'details', 'dt' => 4), - array('db' => 'view', 'dt' => 5), - array('db' => 'delete', 'dt' => 6) -); - - -// SQL server connection information -$sql_details = array( - 'user' => $dbuser, - 'pass' => $dbpassword, - 'db' => $dbname, - 'host' => $dbhost -); - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * If you just want to use the basic configuration for DataTables with PHP - * server-side, there is no need to edit below this line. - */ - -require('ssp.reports.php'); - -echo json_encode( - SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns, $columns2) -); diff --git a/admin/ajax_users.php b/admin/ajax_users.php deleted file mode 100644 index bd21bc9..0000000 --- a/admin/ajax_users.php +++ /dev/null @@ -1,57 +0,0 @@ - 'id', 'dt' => 0), - array('db' => 'username', 'dt' => 1), - array('db' => 'date', 'dt' => 3), - array('db' => 'platform', 'dt' => 4), - array('db' => 'id', 'dt' => 5), - array('db' => 'verified', 'dt' => 7) -); - -$columns2 = array( - array('db' => 'id', 'dt' => 0), - array('db' => 'username', 'dt' => 1), - array('db' => 'date', 'dt' => 3), - array('db' => 'platform', 'dt' => 4), - array('db' => 'ban', 'dt' => 5), - array('db' => 'view', 'dt' => 6), - array('db' => 'delete', 'dt' => 7) -); - - -// SQL server connection information -$sql_details = array( - 'user' => $db_user, - 'pass' => $db_pass, - 'db' => $db_schema, - 'host' => $db_host -); - - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * If you just want to use the basic configuration for DataTables with PHP - * server-side, there is no need to edit below this line. - */ - -require('ssp.users.php'); - -echo json_encode( - SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns, $columns2) -); - -if ($_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest") { - header("Location: http://ponepaste.org/SVOtaKqJZh4nT9Z"); - die(); -} - diff --git a/admin/ipbans.php b/admin/ipbans.php index ca50ca4..df4e8d6 100644 --- a/admin/ipbans.php +++ b/admin/ipbans.php @@ -162,15 +162,6 @@ if (isset($_GET['delete'])) {
  • Statistics
  • -
  • - Ads -
  • -
  • - Sitemap -
  • -
  • - Tasks -
  • diff --git a/admin/js/index.php b/admin/js/index.php deleted file mode 100644 index e69de29..0000000 diff --git a/admin/sitemap.php b/admin/sitemap.php deleted file mode 100644 index 5d75437..0000000 --- a/admin/sitemap.php +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - - Paste - Sitemap - - - - - -
    - - - - - - - -
    - - -
    - -
    - - - - - - ' . mysqli_error($con) . ' -
    '; - } else { - echo ' -
    - Sitemap saved. -
    '; - } - } - ?> - - -
    -
    -
    -
    -
    Sitemap
    - -
    -
    - - -
    -
    - - -
    - - -
    -
    - - - - ' . $protocol . $_SERVER['SERVER_NAME'] . $levelup . '/ - 1.0 - daily - ' . $c_date . ' - - '; - file_put_contents("../sitemap.xml", $data); - - $rec_limit = 10; - $query = "SELECT count(id) FROM pastes"; - $retval = mysqli_query($con, $query); - - $row = mysqli_fetch_array($retval); - $rec_count = Trim($row[0]); - $offset = 0; - // Set the specific query to display in the table - $sql = "SELECT * FROM `pastes` WHERE visible='0' LIMIT $offset, $rec_count "; - $result = mysqli_query($con, $sql); - - // Loop through each record - while ($row = mysqli_fetch_array($result)) { - $paste_id = Trim($row['id']); - $site_data = file_get_contents("../sitemap.xml"); - $site_data = str_replace("", "", $site_data); - - if (PP_MOD_REWRITE) { - $server_name = $protocol . $_SERVER['SERVER_NAME'] . $levelup . "/" . $paste_id; - } else { - $server_name = $protocol . $_SERVER['SERVER_NAME'] . $levelup . "/paste.php?id=" . $paste_id; - } - $c_date = date('Y-m-d'); - $c_sitemap = ' - - ' . $server_name . ' - ' . $priority . ' - ' . $changefreq . ' - ' . $c_date . ' - - '; - $full_map = $site_data . $c_sitemap; - file_put_contents("../sitemap.xml", $full_map); - } - } - ?> - - - sitemap.xml rebuilt -
    '; - } - ?> -
    - -
    -
    -
    -
    -
    - - - - - - - - - - - - \ No newline at end of file diff --git a/admin/stats.php b/admin/stats.php index dc8ff36..b24beb1 100644 --- a/admin/stats.php +++ b/admin/stats.php @@ -96,10 +96,6 @@ if ($last_ip == $ip) { name; - if (stripos($tag, 'nsfw') !== false) { + $tag_lower = strtolower($tag); + if ($tag_lower === 'nsfw' || $tag_lower === 'explicit') { $tag = strtoupper($tag); $tagcolor = "tag is-danger"; - } elseif (stripos($tag, 'SAFE') !== false) { + } elseif ($tag_lower === 'safe') { $tag = strtoupper($tag); $tagcolor = "tag is-success"; - } elseif (str_contains($tag, '/')) { + } elseif ($tag[0] === '/' && $tag[-1] === '/') { $tagcolor = "tag is-primary"; } else { $tagcolor = "tag is-info"; @@ -40,13 +41,14 @@ function tagsToHtmlUser(string | array | Collection $tags, $profile_username) : } foreach ($tagsSplit as $tag) { - if (stripos($tag, 'nsfw') !== false) { + $tag_lower = strtolower($tag); + if ($tag_lower === 'nsfw' || $tag_lower === 'explicit') { $tag = strtoupper($tag); $tagcolor = "tag is-danger"; - } elseif (stripos($tag, 'SAFE') !== false) { + } elseif ($tag_lower === 'safe') { $tag = strtoupper($tag); $tagcolor = "tag is-success"; - } elseif (str_contains($tag, '/')) { + } elseif ($tag[0] === '/' && $tag[-1] === '/') { $tagcolor = "tag is-primary"; } else { $tagcolor = "tag is-info"; diff --git a/js/tag_input.js b/js/tag_input.js index 1aeca0e..6c695e9 100644 --- a/js/tag_input.js +++ b/js/tag_input.js @@ -6,7 +6,7 @@ class TagsInput { this.tags = []; this.options = options - this.maxTags = options.maxTags || 10; + this.maxTags = options.maxTags || 32; this.inputNode = null; this.containerNode = null; } @@ -15,7 +15,7 @@ class TagsInput { this.element.style.display = 'none'; this.containerNode = makeEl('
    '); - this.inputNode = makeEl(''); + this.inputNode = makeEl(''); this.containerNode.appendChild(this.inputNode); this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling); diff --git a/js/utils.js b/js/utils.js index cbadd73..0f41bea 100644 --- a/js/utils.js +++ b/js/utils.js @@ -1,14 +1,14 @@ import { escape } from "./dom"; const tagsToHtml = (tags) => { - return tags.map(tagData => { let tagColorClass; - if (tagData.name.indexOf('nsfw') !== -1) { + const tagLower = tagData.name.toLowerCase(); + if (tagLower === 'nsfw' || tagLower === 'explicit') { tagColorClass = 'is-danger'; - } else if (tagData.name.indexOf('safe') !== -1) { + } else if (tagLower === 'safe') { tagColorClass = 'is-success'; - } else if (tagData.name.indexOf('/') !== -1) { + } else if (tagLower.charAt(0) === '/' && tagLower.charAt(tagLower.length - 1) === '/') { tagColorClass = 'is-primary'; } else { tagColorClass = 'is-info'; diff --git a/package.json b/package.json index 7a655ec..9970dc1 100644 --- a/package.json +++ b/package.json @@ -11,5 +11,10 @@ "main": "index.js", "repository": "git@github.com:aftercase/punishedponepaste.git", "author": "AppleDash ", - "license": "MIT" + "license": "MIT", + "dependencies": { + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-node-resolve": "^15.0.1", + "zxcvbn": "^4.4.2" + } } diff --git a/public/assets/bundle/archive.js b/public/assets/bundle/archive.js index e10b9d1..31ea7f8 100644 --- a/public/assets/bundle/archive.js +++ b/public/assets/bundle/archive.js @@ -289,14 +289,14 @@ const dumbFilterCallback = (datum, query) => { }; const tagsToHtml = (tags) => { - return tags.map(tagData => { let tagColorClass; - if (tagData.name.indexOf('nsfw') !== -1) { + const tagLower = tagData.name.toLowerCase(); + if (tagLower === 'nsfw' || tagLower === 'explicit') { tagColorClass = 'is-danger'; - } else if (tagData.name.indexOf('safe') !== -1) { + } else if (tagLower === 'safe') { tagColorClass = 'is-success'; - } else if (tagData.name.indexOf('/') !== -1) { + } else if (tagLower.charAt(0) === '/' && tagLower.charAt(tagLower.length - 1) === '/') { tagColorClass = 'is-primary'; } else { tagColorClass = 'is-info'; @@ -314,7 +314,7 @@ class TagsInput { this.tags = []; this.options = options; - this.maxTags = options.maxTags || 10; + this.maxTags = options.maxTags || 32; this.inputNode = null; this.containerNode = null; } @@ -323,7 +323,7 @@ class TagsInput { this.element.style.display = 'none'; this.containerNode = makeEl('
    '); - this.inputNode = makeEl(''); + this.inputNode = makeEl(''); this.containerNode.appendChild(this.inputNode); this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling); diff --git a/public/assets/bundle/archive.min.js b/public/assets/bundle/archive.min.js index 0ff2c44..984610e 100644 --- a/public/assets/bundle/archive.min.js +++ b/public/assets/bundle/archive.min.js @@ -1,2 +1,2 @@ -function t(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=a(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,s=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw s}}}}function a(t,e){if(t){if("string"==typeof t)return n(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(t,e):void 0}}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a/g,">").replace(/"/g,""").replace(/'/g,"'")},f=function(){function t(e){i(this,t),this.element=e}return s(t,[{key:"attach",value:function(t){this.element.addEventListener("click",(function(e){e.target&&e.target.classList.contains("paginator__button")&&t(+e.target.dataset.page)}))}},{key:"update",value:function(t,e,a){u(this.element);var n=Math.floor(t/e);if(0!==n){var i=a-2<0?0:a-2,r=a+2>n?n:a+2,s=Math.abs(0-a)>2,o=Math.abs(n-a)>2,l=0===a?"disabled":"";this.element.appendChild(d(''))),s&&(this.element.appendChild(d('"))),this.element.appendChild(d('')));for(var c=i;c<=r;c++){var h=c===a?"paginator__button--selected":"";this.element.appendChild(d('")))}o&&(this.element.appendChild(d('')),this.element.appendChild(d('"))));var p=a===n?"disabled":"";this.element.appendChild(d('')))}}}]),t}(),g=function(){function a(t,e){i(this,a),this.element=t,this.container=t.parentElement,this.options=e,this.ajaxCallback=e.ajaxCallback,this.data=[],this.unfilteredData=[],this.totalRecords=-1,this.perPage=20,this.currentPage=0,this.paginator=new f(this.container.querySelector(".paginator")),this.filterCallback=e.filterCallback,this.sortField=null,this.sortDir=!0}return s(a,[{key:"attach",value:function(){var t=this;this.filterField=this.container.querySelector("input.search"),this.filterField&&this.filterCallback&&(this.filterField.addEventListener("keyup",(function(e){e.target&&t._updateFilter(e.target.value)})),this.options.preFilter&&(this.filterField.value=this.options.preFilter)),this.perPageField=this.container.querySelector("select[name=per_page]"),this.perPageField&&this.perPageField.addEventListener("change",(function(e){t.perPage=Number(e.target.value),t._updatePage(0)}));var e=this.element.querySelector("tr.paginator__sort");e&&e.addEventListener("click",(function(e){var a=e.target;if(a.dataset.sortField){if(t.sortField){var n=t.element.querySelector("th[data-sort-field=".concat(t.sortField,"]"));n.classList.remove("paginator__sort--down"),n.classList.remove("paginator__sort--up")}t._updateSort(a.dataset.sortField,!t.sortDir),a.classList.add(t.sortDir?"paginator__sort--up":"paginator__sort--down")}})),this.paginator.attach(this._updatePage.bind(this)),this._loadEntries()}},{key:"_loadEntries",value:function(){var t=this;new Promise(this.ajaxCallback).then((function(e){t.element.classList.remove("hidden"),t.unfilteredData=e.data,t._updateFilter(t.options.preFilter)}))}},{key:"_updateEntries",value:function(t){this.data=t,this.totalRecords=this.data.length;var e=this.element.querySelector("tbody");u(e);for(var a=this.perPage*this.currentPage,n=a+this.perPage>this.totalRecords?this.totalRecords:a+this.perPage,i=a;in[e]?i=1:t[e]1&&void 0!==arguments[1]?arguments[1]:{};i(this,t),this.element=e,this.tags=[],this.options=a,this.maxTags=a.maxTags||10,this.inputNode=null,this.containerNode=null}return s(t,[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=d('
    '),this.inputNode=d(''),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var t,a=e(this.element.value.split(","));try{for(a.s();!(t=a.n()).done;){var n=t.value;this.addTag(n)}}catch(t){a.e(t)}finally{a.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(t){this.tags.splice(this.tags.indexOf(t.dataset.value.toLowerCase()),1),t.remove(),this.tags.length'+p(t)+''),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(t){var e=this.inputNode.value;"Backspace"===t.key&&""===e?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===t.key&&(this.addTag(e),this.inputNode.value="",this.updateHiddenInputValue(),t.preventDefault())}},{key:"_handleContainerClick",value:function(t){t.target&&t.target.classList.contains("delete")&&(this.deleteTagNode(t.target.closest(".tag")),this.updateHiddenInputValue())}}]),t}(),y=function(){var t;Array.prototype.forEach.call(c(".js-tag-input"),(function(t){new m(t).attach()})),(t=l('[data-target~="#signin"],[data-target~="#signup"]'))&&(t.href="javascript:void(0)",t.addEventListener("click",(function(){l(".modal").classList.add("is-active")})),l(".modal-button-close").addEventListener("click",(function(){l(".modal").classList.remove("is-active")})));var e=l(".panel-tools .embed-tool");e&&e.addEventListener("click",(function(t){t.target&&t.target.closest(".panel-tools")&&h(t.target.closest(".panel-tools").querySelector(".panel-embed"))}));var a=l(".expand-tool");a&&a.addEventListener("click",(function(t){if(t.target&&t.target.closest(".panel")){var e=t.target.closest(".panel");e.classList.contains("panel-fullsize")?e.classList.remove("panel-fullsize"):e.classList.add("panel-fullsize")}})),(document.querySelectorAll(".notification .delete")||[]).forEach((function(t){var e=t.parentNode;t.addEventListener("click",(function(){e.parentNode.removeChild(e)}))}));var n=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);n.length>0&&n.forEach((function(t){t.addEventListener("click",(function(){var e=t.dataset.target,a=document.getElementById(e);t.classList.toggle("is-active"),a.classList.toggle("is-active")}))}));var i=l(".preloader"),r=l("main");i&&r&&(i.remove(),r.id="");var s=l(".captcha_container");if(s){var o=s.querySelector("a"),d=s.querySelector("img");o&&d&&o.addEventListener("click",(function(){var t=d.src;-1!==t.indexOf("&refresh")?t=t.split("&rand=")[0]:t+="&refresh",d.src=t+"&rand="+Math.random()}))}var u=c(".js-hidden");u&&Array.prototype.forEach.call(u,(function(t){h(t)}))};o=function(){y();var t=new URLSearchParams(window.location.search).get("q");new g(document.getElementById("archive"),{ajaxCallback:function(t){fetch("/api/ajax_pastes.php").then((function(t){return t.json()})).then(t)},rowCallback:function(t){return'\n ').concat(p(t.title),'\n ').concat(p(t.author),"\n ").concat(t.tags.map((function(t){var e;return e=-1!==t.name.indexOf("nsfw")?"is-danger":-1!==t.name.indexOf("safe")?"is-success":-1!==t.name.indexOf("/")?"is-primary":"is-info",'\n ').concat(p(t.name),"\n ")})).join(""),"\n ")},filterCallback:v,preFilter:t}).attach()},"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o); +function t(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=a(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function a(t,e){if(t){if("string"==typeof t)return n(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(t,e):void 0}}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a/g,">").replace(/"/g,""").replace(/'/g,"'")},v=function(){function t(e){r(this,t),this.element=e}return s(t,[{key:"attach",value:function(t){this.element.addEventListener("click",(function(e){e.target&&e.target.classList.contains("paginator__button")&&t(+e.target.dataset.page)}))}},{key:"update",value:function(t,e,a){h(this.element);var n=Math.floor(t/e);if(0!==n){var i=a-2<0?0:a-2,r=a+2>n?n:a+2,o=Math.abs(0-a)>2,s=Math.abs(n-a)>2,l=0===a?"disabled":"";this.element.appendChild(d(''))),o&&(this.element.appendChild(d('"))),this.element.appendChild(d('')));for(var c=i;c<=r;c++){var u=c===a?"paginator__button--selected":"";this.element.appendChild(d('")))}s&&(this.element.appendChild(d('')),this.element.appendChild(d('"))));var p=a===n?"disabled":"";this.element.appendChild(d('')))}}}]),t}(),g=function(){function a(t,e){r(this,a),this.element=t,this.container=t.parentElement,this.options=e,this.ajaxCallback=e.ajaxCallback,this.data=[],this.unfilteredData=[],this.totalRecords=-1,this.perPage=20,this.currentPage=0,this.paginator=new v(this.container.querySelector(".paginator")),this.filterCallback=e.filterCallback,this.sortField=null,this.sortDir=!0}return s(a,[{key:"attach",value:function(){var t=this;this.filterField=this.container.querySelector("input.search"),this.filterField&&this.filterCallback&&(this.filterField.addEventListener("keyup",(function(e){e.target&&t._updateFilter(e.target.value)})),this.options.preFilter&&(this.filterField.value=this.options.preFilter)),this.perPageField=this.container.querySelector("select[name=per_page]"),this.perPageField&&this.perPageField.addEventListener("change",(function(e){t.perPage=Number(e.target.value),t._updatePage(0)}));var e=this.element.querySelector("tr.paginator__sort");e&&e.addEventListener("click",(function(e){var a=e.target;if(a.dataset.sortField){if(t.sortField){var n=t.element.querySelector("th[data-sort-field=".concat(t.sortField,"]"));n.classList.remove("paginator__sort--down"),n.classList.remove("paginator__sort--up")}t._updateSort(a.dataset.sortField,!t.sortDir),a.classList.add(t.sortDir?"paginator__sort--up":"paginator__sort--down")}})),this.paginator.attach(this._updatePage.bind(this)),this._loadEntries()}},{key:"_loadEntries",value:function(){var t=this;new Promise(this.ajaxCallback).then((function(e){t.element.classList.remove("hidden"),t.unfilteredData=e.data,t._updateFilter(t.options.preFilter)}))}},{key:"_updateEntries",value:function(t){this.data=t,this.totalRecords=this.data.length;var e=this.element.querySelector("tbody");h(e);for(var a=this.perPage*this.currentPage,n=a+this.perPage>this.totalRecords?this.totalRecords:a+this.perPage,i=a;in[e]?i=1:t[e]1&&void 0!==arguments[1]?arguments[1]:{};r(this,t),this.element=e,this.tags=[],this.options=a,this.maxTags=a.maxTags||32,this.inputNode=null,this.containerNode=null}return s(t,[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=d('
    '),this.inputNode=d(''),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var t,a=e(this.element.value.split(","));try{for(a.s();!(t=a.n()).done;){var n=t.value;this.addTag(n)}}catch(t){a.e(t)}finally{a.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(t){this.tags.splice(this.tags.indexOf(t.dataset.value.toLowerCase()),1),t.remove(),this.tags.length'+f(t)+''),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(t){var e=this.inputNode.value;"Backspace"===t.key&&""===e?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===t.key&&(this.addTag(e),this.inputNode.value="",this.updateHiddenInputValue(),t.preventDefault())}},{key:"_handleContainerClick",value:function(t){t.target&&t.target.classList.contains("delete")&&(this.deleteTagNode(t.target.closest(".tag")),this.updateHiddenInputValue())}}]),t}(),b=function(){var t;Array.prototype.forEach.call(u(".js-tag-input"),(function(t){new y(t).attach()})),(t=c('[data-target~="#signin"],[data-target~="#signup"]'))&&(t.href="javascript:void(0)",t.addEventListener("click",(function(){c(".modal").classList.add("is-active")})),c(".modal-button-close").addEventListener("click",(function(){c(".modal").classList.remove("is-active")})));var e=c(".panel-tools .embed-tool");e&&e.addEventListener("click",(function(t){t.target&&t.target.closest(".panel-tools")&&p(t.target.closest(".panel-tools").querySelector(".panel-embed"))}));var a=c(".expand-tool");a&&a.addEventListener("click",(function(t){if(t.target&&t.target.closest(".panel")){var e=t.target.closest(".panel");e.classList.contains("panel-fullsize")?e.classList.remove("panel-fullsize"):e.classList.add("panel-fullsize")}})),(document.querySelectorAll(".notification .delete")||[]).forEach((function(t){var e=t.parentNode;t.addEventListener("click",(function(){e.parentNode.removeChild(e)}))}));var n=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);n.length>0&&n.forEach((function(t){t.addEventListener("click",(function(){var e=t.dataset.target,a=document.getElementById(e);t.classList.toggle("is-active"),a.classList.toggle("is-active")}))}));var i=c(".preloader"),r=c("main");i&&r&&(i.remove(),r.id="");var o=c(".captcha_container");if(o){var s=o.querySelector("a"),l=o.querySelector("img");s&&l&&s.addEventListener("click",(function(){var t=l.src;-1!==t.indexOf("&refresh")?t=t.split("&rand=")[0]:t+="&refresh",l.src=t+"&rand="+Math.random()}))}var d=u(".js-hidden");d&&Array.prototype.forEach.call(d,(function(t){p(t)}))};l=function(){b();var t=new URLSearchParams(window.location.search).get("q");new g(document.getElementById("archive"),{ajaxCallback:function(t){fetch("/api/ajax_pastes.php").then((function(t){return t.json()})).then(t)},rowCallback:function(t){return'\n ').concat(f(t.title),'\n ').concat(f(t.author),"\n ").concat(t.tags.map((function(t){var e,a=t.name.toLowerCase();return e="nsfw"===a||"explicit"===a?"is-danger":"safe"===a?"is-success":"/"===a.charAt(0)&&"/"===a.charAt(a.length-1)?"is-primary":"is-info",'\n ').concat(f(t.name),"\n ")})).join(""),"\n ")},filterCallback:m,preFilter:t}).attach()},"loading"!==document.readyState?l():document.addEventListener("DOMContentLoaded",l); //# sourceMappingURL=archive.min.js.map diff --git a/public/assets/bundle/archive.min.js.map b/public/assets/bundle/archive.min.js.map index 39f8873..ff5864f 100644 --- a/public/assets/bundle/archive.min.js.map +++ b/public/assets/bundle/archive.min.js.map @@ -1 +1 @@ -{"version":3,"file":"archive.min.js","sources":["../../../js/dom.js","../../../js/data_tables.js","../../../js/tag_input.js","../../../js/main.js","../../../js/archive.js","../../../js/utils.js"],"sourcesContent":["const $ = function(selector) {\n return document.querySelector(selector);\n};\n\nconst $$ = function(selector) {\n return document.querySelectorAll(selector) || [];\n};\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst clearEl = function(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n};\n\nconst toggleEl = function(el) {\n if (el.classList.contains('is-hidden')) {\n el.classList.remove('is-hidden');\n } else {\n el.classList.add('is-hidden');\n }\n};\n\nconst escape = function(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nconst whenReady = function(funcp) {\n if (document.readyState !== 'loading') {\n funcp();\n } else {\n document.addEventListener('DOMContentLoaded', funcp);\n }\n}\n\nexport { whenReady, $, $$, makeEl, clearEl, toggleEl, escape };","import { makeEl, clearEl } from \"./dom\";\n\nclass SimplePaginator {\n constructor(element) {\n this.element = element;\n }\n\n attach(pageCallback) {\n this.element.addEventListener('click', evt => {\n if (evt.target && evt.target.classList.contains('paginator__button')) {\n pageCallback(+evt.target.dataset.page);\n }\n });\n }\n\n update(totalRecords, perPage, currentPage) {\n clearEl(this.element);\n\n /* First and last page in existence */\n const firstPage = 0;\n const lastPage = Math.floor(totalRecords / perPage); // ish?\n const numPagesToShow = 2;\n\n if (lastPage === firstPage) {\n return;\n }\n\n /* First and last page the main paginator will show */\n const firstPageShow = (currentPage - numPagesToShow) < firstPage ? firstPage : (currentPage - numPagesToShow);\n const lastPageShow = (currentPage + numPagesToShow) > lastPage ? lastPage : (currentPage + numPagesToShow);\n\n /* Whether to show the first and last pages in existence at the ends of the paginator */\n const showFirstPage = (Math.abs(firstPage - currentPage)) > (numPagesToShow);\n const showLastPage = (Math.abs(lastPage - currentPage)) > (numPagesToShow);\n\n\n const prevButtonDisabled = currentPage === firstPage ? 'disabled' : ''\n\n /* Previous button */\n this.element.appendChild(makeEl(\n ``\n ));\n\n /* First page button */\n if (showFirstPage) {\n this.element.appendChild(makeEl(\n ``\n ));\n this.element.appendChild(makeEl(``));\n }\n\n /* \"window\" buttons */\n for (let i = firstPageShow; i <= lastPageShow; i++) {\n const selected = (i === currentPage ? 'paginator__button--selected' : '');\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n /* Last page button */\n if (showLastPage) {\n this.element.appendChild(makeEl(``));\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n const nextButtonDisabled = currentPage === lastPage ? 'disabled' : ''\n /* Next button */\n this.element.appendChild(makeEl(\n ``\n ));\n }\n}\n\nclass DataTable {\n constructor(element, options) {\n this.element = element;\n this.container = element.parentElement;\n this.options = options;\n\n this.ajaxCallback = options.ajaxCallback;\n this.data = [];\n this.unfilteredData = [];\n\n this.totalRecords = -1;\n this.perPage = 20;\n this.currentPage = 0;\n\n this.paginator = new SimplePaginator(this.container.querySelector('.paginator'));\n\n this.filterCallback = options.filterCallback;\n this.sortField = null;\n this.sortDir = true;\n }\n\n attach() {\n this.filterField = this.container.querySelector('input.search');\n if (this.filterField && this.filterCallback) {\n this.filterField.addEventListener('keyup', evt => {\n if (evt.target) {\n this._updateFilter(evt.target.value);\n }\n });\n\n if (this.options.preFilter) {\n this.filterField.value = this.options.preFilter;\n }\n }\n\n this.perPageField = this.container.querySelector('select[name=per_page]');\n\n if (this.perPageField) {\n this.perPageField.addEventListener('change', evt => {\n this.perPage = Number(evt.target.value);\n this._updatePage(0);\n });\n }\n\n const header = this.element.querySelector('tr.paginator__sort');\n\n if (header) {\n header.addEventListener('click', evt => {\n const target = evt.target;\n\n if (!target.dataset.sortField) {\n return;\n }\n\n if (this.sortField) {\n const elem = this.element.querySelector(`th[data-sort-field=${this.sortField}]`)\n elem.classList.remove('paginator__sort--down');\n elem.classList.remove('paginator__sort--up');\n }\n\n this._updateSort(target.dataset.sortField, !this.sortDir);\n\n target.classList.add(this.sortDir ? 'paginator__sort--up' : 'paginator__sort--down');\n });\n }\n\n this.paginator.attach(this._updatePage.bind(this));\n this._loadEntries();\n }\n\n /* Load the requested data from the server, and when done, update the DOM. */\n _loadEntries() {\n new Promise(this.ajaxCallback)\n .then(data => {\n this.element.classList.remove('hidden');\n this.unfilteredData = data.data;\n this._updateFilter(this.options.preFilter);\n });\n }\n\n /* Update the DOM to reflect the current state of the data we have loaded */\n _updateEntries(data) {\n this.data = data;\n this.totalRecords = this.data.length;\n\n const bodyElement = this.element.querySelector('tbody');\n clearEl(bodyElement);\n\n const firstIndex = (this.perPage * this.currentPage);\n const lastIndex = (firstIndex + this.perPage) > this.totalRecords ? this.totalRecords : (firstIndex + this.perPage);\n\n\n for (let i = firstIndex; i < lastIndex; i++) {\n const rowElem = makeEl(this.options.rowCallback(this.data[i]));\n rowElem.classList.add(i % 2 === 0 ? 'odd' : 'even');\n\n bodyElement.appendChild(rowElem);\n }\n\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n }\n\n _updatePage(n) {\n this.currentPage = n;\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n this._updateEntries(this.data);\n }\n\n _updateFilter(query) {\n /* clearing the query */\n if (query === null || query === '') {\n this._updateEntries(this.unfilteredData);\n return;\n }\n\n let data = [];\n for (const datum of this.unfilteredData) {\n if (this.filterCallback(datum, query)) {\n data.push(datum);\n }\n }\n\n this._updatePage(0)\n this._updateEntries(data);\n }\n\n _updateSort(field, direction) {\n this.sortField = field;\n this.sortDir = direction;\n\n let newEntries = [...this.data].sort((a, b) => {\n let sorter = 0;\n\n if (a[field] > b[field]) {\n sorter = 1;\n } else if (a[field] < b[field]) {\n sorter = -1;\n }\n\n if (!direction) {\n sorter = -sorter;\n }\n\n return sorter;\n });\n\n this._updatePage(0);\n this._updateEntries(newEntries);\n }\n}\n\nconst dumbFilterCallback = (datum, query) => {\n if (!query) {\n return true;\n }\n\n if (datum.title.indexOf(query) !== -1) {\n return true;\n }\n\n /* this is inefficient */\n for (const tag of datum.tags) {\n if (tag.name.toLowerCase() === query.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { DataTable, dumbFilterCallback };\n","import { makeEl, escape } from \"./dom\";\n\nclass TagsInput {\n constructor(element, options = {}) {\n this.element = element;\n this.tags = [];\n this.options = options\n\n this.maxTags = options.maxTags || 10;\n this.inputNode = null;\n this.containerNode = null;\n }\n\n attach() {\n this.element.style.display = 'none';\n\n this.containerNode = makeEl('
    ');\n this.inputNode = makeEl('');\n this.containerNode.appendChild(this.inputNode);\n\n this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling);\n\n /* Load existing tags from input */\n if (this.element.value) {\n for (const tag of this.element.value.split(',')) {\n this.addTag(tag);\n }\n }\n\n /* Handle addition and removal of tags via key-presses */\n this.containerNode.addEventListener('keydown', this._handleInputKeyUp.bind(this));\n\n /* Handle deletions by clicking the delete button */\n this.containerNode.addEventListener('click', this._handleContainerClick.bind(this));\n }\n\n detach() {\n this.tags.clear();\n this.containerNode.remove();\n this.element.style.display = 'inline-block';\n }\n\n updateHiddenInputValue() {\n this.element.value = this.tags.join(',');\n }\n\n deleteTagNode(node) {\n this.tags.splice(this.tags.indexOf(node.dataset.value.toLowerCase()), 1);\n node.remove();\n\n /* Below the limit? Make sure the input is enabled. */\n if (this.tags.length < this.maxTags) {\n this.inputNode.disabled = false;\n }\n }\n\n addTag(tagValue) {\n tagValue = tagValue.trim();\n\n /* Tag value is probably not empty and we don't already have the same tag. */\n if (tagValue !== '' && this.tags.indexOf(tagValue.toLowerCase()) === -1) {\n this.tags.push(tagValue.toLowerCase());\n\n this.inputNode.parentNode.insertBefore(\n makeEl('' + escape(tagValue) + ''),\n this.inputNode\n );\n\n /* Too many tags, disable the input for now. */\n if (this.tags.length >= this.maxTags) {\n this.inputNode.disabled = true;\n }\n }\n }\n\n _handleInputKeyUp(evt) {\n let tagValue = this.inputNode.value;\n\n if (evt.key === 'Backspace' && tagValue === '') {\n // Remove the child\n if (this.inputNode.previousSibling) {\n this.deleteTagNode(this.inputNode.previousSibling);\n\n this.updateHiddenInputValue();\n }\n } else if (evt.key === ',') {\n this.addTag(tagValue);\n\n this.inputNode.value = ''\n this.updateHiddenInputValue();\n\n evt.preventDefault();\n }\n }\n\n _handleContainerClick(evt) {\n if (evt.target && evt.target.classList.contains('delete')) {\n this.deleteTagNode(evt.target.closest('.tag'));\n this.updateHiddenInputValue();\n }\n }\n}\n\nexport { TagsInput };\n","import { $, $$, toggleEl } from './dom';\nimport { TagsInput } from \"./tag_input\";\n\nconst setupSignupModal = () => {\n const signupButton = $('[data-target~=\"#signin\"],[data-target~=\"#signup\"]');\n\n if (signupButton) {\n signupButton.href = 'javascript:void(0)';\n\n signupButton.addEventListener('click', () => {\n $('.modal').classList.add('is-active');\n });\n\n $('.modal-button-close').addEventListener('click', () => {\n $('.modal').classList.remove('is-active');\n });\n }\n}\n\nconst globalSetup = () => {\n Array.prototype.forEach.call($$('.js-tag-input'), (el) => {\n new TagsInput(el).attach();\n });\n\n setupSignupModal();\n\n const embedButton = $('.panel-tools .embed-tool');\n\n if (embedButton){\n embedButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel-tools')) {\n toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed'));\n }\n });\n }\n\n const expandButton = $('.expand-tool');\n\n if (expandButton) {\n expandButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel')) {\n const panel = evt.target.closest('.panel');\n\n if (panel.classList.contains('panel-fullsize')) {\n panel.classList.remove('panel-fullsize');\n } else {\n panel.classList.add('panel-fullsize');\n }\n }\n });\n }\n\n // Notifications\n (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => {\n const $notification = $delete.parentNode;\n\n $delete.addEventListener('click', () => {\n $notification.parentNode.removeChild($notification);\n });\n });\n\n // Hamburger menu\n const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);\n if ($navbarBurgers.length > 0) {\n $navbarBurgers.forEach(el => {\n el.addEventListener('click', () => {\n const target = el.dataset.target;\n const $target = document.getElementById(target);\n el.classList.toggle('is-active');\n $target.classList.toggle('is-active');\n });\n });\n }\n\n const preloader = $('.preloader');\n const main = $('main');\n\n if (preloader && main) {\n preloader.remove();\n main.id = '';\n }\n\n // CAPTCHA refresh\n const captchaContainer = $('.captcha_container');\n\n if (captchaContainer) {\n const refreshElement = captchaContainer.querySelector('a');\n const imageElement = captchaContainer.querySelector('img');\n\n if (refreshElement && imageElement) {\n refreshElement.addEventListener('click', () => {\n let src = imageElement.src;\n\n if (src.indexOf('&refresh') !== -1) {\n // yeah, it's kinda cancerous. fuck off.\n src = src.split('&rand=')[0];\n } else {\n src += '&refresh';\n }\n\n imageElement.src = src + '&rand=' + Math.random();\n });\n }\n }\n\n const hiddenElements = $$('.js-hidden');\n\n if (hiddenElements) {\n Array.prototype.forEach.call(hiddenElements, (elem) => {\n toggleEl(elem);\n });\n }\n}\n\nexport { globalSetup };","import { escape, whenReady } from './dom';\nimport { DataTable, dumbFilterCallback } from './data_tables';\nimport { tagsToHtml } from \"./utils\";\nimport { globalSetup } from './main';\n\nwhenReady(() => {\n globalSetup();\n\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get('q');\n const apiUrl = /* myParam !== null ? '/api/ajax_pastes.php?q=' + myParam : */ '/api/ajax_pastes.php';\n\n const table = new DataTable(document.getElementById('archive'), {\n ajaxCallback: (resolve) => {\n fetch(apiUrl)\n .then(r => r.json())\n .then(resolve);\n },\n rowCallback: (rowData) => {\n return `\n ${escape(rowData.title)}\n ${escape(rowData.author)}\n ${tagsToHtml(rowData.tags)}\n `;\n },\n filterCallback: dumbFilterCallback,\n preFilter: myParam\n });\n table.attach();\n});","import { escape } from \"./dom\";\n\nconst tagsToHtml = (tags) => {\n\n return tags.map(tagData => {\n let tagColorClass;\n if (tagData.name.indexOf('nsfw') !== -1) {\n tagColorClass = 'is-danger';\n } else if (tagData.name.indexOf('safe') !== -1) {\n tagColorClass = 'is-success';\n } else if (tagData.name.indexOf('/') !== -1) {\n tagColorClass = 'is-primary';\n } else {\n tagColorClass = 'is-info';\n }\n\n return `\n ${escape(tagData.name)}\n `;\n }).join('');\n};\n\nexport { tagsToHtml };\n"],"names":["funcp","$","selector","document","querySelector","$$","querySelectorAll","makeEl","html","template","createElement","innerHTML","trim","content","firstChild","clearEl","el","removeChild","toggleEl","classList","contains","remove","add","escape","unsafe","replace","SimplePaginator","element","pageCallback","addEventListener","evt","target","dataset","page","totalRecords","perPage","currentPage","this","lastPage","Math","floor","firstPageShow","lastPageShow","showFirstPage","abs","showLastPage","prevButtonDisabled","appendChild","i","selected","nextButtonDisabled","DataTable","options","container","parentElement","ajaxCallback","data","unfilteredData","paginator","filterCallback","sortField","sortDir","filterField","_this","_updateFilter","value","preFilter","perPageField","Number","_updatePage","header","elem","_updateSort","attach","bind","_loadEntries","Promise","then","_this2","length","bodyElement","firstIndex","lastIndex","rowElem","rowCallback","update","n","_updateEntries","query","datum","push","field","direction","newEntries","_toConsumableArray","sort","a","b","sorter","dumbFilterCallback","title","indexOf","tags","name","toLowerCase","TagsInput","maxTags","inputNode","containerNode","style","display","parentNode","insertBefore","nextSibling","split","tag","addTag","_handleInputKeyUp","_handleContainerClick","clear","join","node","splice","disabled","tagValue","key","previousSibling","deleteTagNode","updateHiddenInputValue","preventDefault","closest","globalSetup","signupButton","Array","prototype","forEach","call","href","embedButton","expandButton","panel","$delete","$notification","$navbarBurgers","slice","$target","getElementById","toggle","preloader","main","id","captchaContainer","refreshElement","imageElement","src","random","hiddenElements","myParam","URLSearchParams","window","location","search","get","resolve","fetch","r","json","rowData","author","map","tagData","tagColorClass","slug","readyState"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"archive.min.js","sources":["../../../js/dom.js","../../../js/data_tables.js","../../../js/tag_input.js","../../../js/main.js","../../../js/archive.js","../../../js/utils.js"],"sourcesContent":["const $ = function(selector) {\n return document.querySelector(selector);\n};\n\nconst $$ = function(selector) {\n return document.querySelectorAll(selector) || [];\n};\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst clearEl = function(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n};\n\nconst toggleEl = function(el) {\n if (el.classList.contains('is-hidden')) {\n el.classList.remove('is-hidden');\n } else {\n el.classList.add('is-hidden');\n }\n};\n\nconst escape = function(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nconst whenReady = function(funcp) {\n if (document.readyState !== 'loading') {\n funcp();\n } else {\n document.addEventListener('DOMContentLoaded', funcp);\n }\n}\n\nexport { whenReady, $, $$, makeEl, clearEl, toggleEl, escape };","import { makeEl, clearEl } from \"./dom\";\n\nclass SimplePaginator {\n constructor(element) {\n this.element = element;\n }\n\n attach(pageCallback) {\n this.element.addEventListener('click', evt => {\n if (evt.target && evt.target.classList.contains('paginator__button')) {\n pageCallback(+evt.target.dataset.page);\n }\n });\n }\n\n update(totalRecords, perPage, currentPage) {\n clearEl(this.element);\n\n /* First and last page in existence */\n const firstPage = 0;\n const lastPage = Math.floor(totalRecords / perPage); // ish?\n const numPagesToShow = 2;\n\n if (lastPage === firstPage) {\n return;\n }\n\n /* First and last page the main paginator will show */\n const firstPageShow = (currentPage - numPagesToShow) < firstPage ? firstPage : (currentPage - numPagesToShow);\n const lastPageShow = (currentPage + numPagesToShow) > lastPage ? lastPage : (currentPage + numPagesToShow);\n\n /* Whether to show the first and last pages in existence at the ends of the paginator */\n const showFirstPage = (Math.abs(firstPage - currentPage)) > (numPagesToShow);\n const showLastPage = (Math.abs(lastPage - currentPage)) > (numPagesToShow);\n\n\n const prevButtonDisabled = currentPage === firstPage ? 'disabled' : ''\n\n /* Previous button */\n this.element.appendChild(makeEl(\n ``\n ));\n\n /* First page button */\n if (showFirstPage) {\n this.element.appendChild(makeEl(\n ``\n ));\n this.element.appendChild(makeEl(``));\n }\n\n /* \"window\" buttons */\n for (let i = firstPageShow; i <= lastPageShow; i++) {\n const selected = (i === currentPage ? 'paginator__button--selected' : '');\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n /* Last page button */\n if (showLastPage) {\n this.element.appendChild(makeEl(``));\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n const nextButtonDisabled = currentPage === lastPage ? 'disabled' : ''\n /* Next button */\n this.element.appendChild(makeEl(\n ``\n ));\n }\n}\n\nclass DataTable {\n constructor(element, options) {\n this.element = element;\n this.container = element.parentElement;\n this.options = options;\n\n this.ajaxCallback = options.ajaxCallback;\n this.data = [];\n this.unfilteredData = [];\n\n this.totalRecords = -1;\n this.perPage = 20;\n this.currentPage = 0;\n\n this.paginator = new SimplePaginator(this.container.querySelector('.paginator'));\n\n this.filterCallback = options.filterCallback;\n this.sortField = null;\n this.sortDir = true;\n }\n\n attach() {\n this.filterField = this.container.querySelector('input.search');\n if (this.filterField && this.filterCallback) {\n this.filterField.addEventListener('keyup', evt => {\n if (evt.target) {\n this._updateFilter(evt.target.value);\n }\n });\n\n if (this.options.preFilter) {\n this.filterField.value = this.options.preFilter;\n }\n }\n\n this.perPageField = this.container.querySelector('select[name=per_page]');\n\n if (this.perPageField) {\n this.perPageField.addEventListener('change', evt => {\n this.perPage = Number(evt.target.value);\n this._updatePage(0);\n });\n }\n\n const header = this.element.querySelector('tr.paginator__sort');\n\n if (header) {\n header.addEventListener('click', evt => {\n const target = evt.target;\n\n if (!target.dataset.sortField) {\n return;\n }\n\n if (this.sortField) {\n const elem = this.element.querySelector(`th[data-sort-field=${this.sortField}]`)\n elem.classList.remove('paginator__sort--down');\n elem.classList.remove('paginator__sort--up');\n }\n\n this._updateSort(target.dataset.sortField, !this.sortDir);\n\n target.classList.add(this.sortDir ? 'paginator__sort--up' : 'paginator__sort--down');\n });\n }\n\n this.paginator.attach(this._updatePage.bind(this));\n this._loadEntries();\n }\n\n /* Load the requested data from the server, and when done, update the DOM. */\n _loadEntries() {\n new Promise(this.ajaxCallback)\n .then(data => {\n this.element.classList.remove('hidden');\n this.unfilteredData = data.data;\n this._updateFilter(this.options.preFilter);\n });\n }\n\n /* Update the DOM to reflect the current state of the data we have loaded */\n _updateEntries(data) {\n this.data = data;\n this.totalRecords = this.data.length;\n\n const bodyElement = this.element.querySelector('tbody');\n clearEl(bodyElement);\n\n const firstIndex = (this.perPage * this.currentPage);\n const lastIndex = (firstIndex + this.perPage) > this.totalRecords ? this.totalRecords : (firstIndex + this.perPage);\n\n\n for (let i = firstIndex; i < lastIndex; i++) {\n const rowElem = makeEl(this.options.rowCallback(this.data[i]));\n rowElem.classList.add(i % 2 === 0 ? 'odd' : 'even');\n\n bodyElement.appendChild(rowElem);\n }\n\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n }\n\n _updatePage(n) {\n this.currentPage = n;\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n this._updateEntries(this.data);\n }\n\n _updateFilter(query) {\n /* clearing the query */\n if (query === null || query === '') {\n this._updateEntries(this.unfilteredData);\n return;\n }\n\n let data = [];\n for (const datum of this.unfilteredData) {\n if (this.filterCallback(datum, query)) {\n data.push(datum);\n }\n }\n\n this._updatePage(0)\n this._updateEntries(data);\n }\n\n _updateSort(field, direction) {\n this.sortField = field;\n this.sortDir = direction;\n\n let newEntries = [...this.data].sort((a, b) => {\n let sorter = 0;\n\n if (a[field] > b[field]) {\n sorter = 1;\n } else if (a[field] < b[field]) {\n sorter = -1;\n }\n\n if (!direction) {\n sorter = -sorter;\n }\n\n return sorter;\n });\n\n this._updatePage(0);\n this._updateEntries(newEntries);\n }\n}\n\nconst dumbFilterCallback = (datum, query) => {\n if (!query) {\n return true;\n }\n\n if (datum.title.indexOf(query) !== -1) {\n return true;\n }\n\n /* this is inefficient */\n for (const tag of datum.tags) {\n if (tag.name.toLowerCase() === query.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { DataTable, dumbFilterCallback };\n","import { makeEl, escape } from \"./dom\";\n\nclass TagsInput {\n constructor(element, options = {}) {\n this.element = element;\n this.tags = [];\n this.options = options\n\n this.maxTags = options.maxTags || 32;\n this.inputNode = null;\n this.containerNode = null;\n }\n\n attach() {\n this.element.style.display = 'none';\n\n this.containerNode = makeEl('
    ');\n this.inputNode = makeEl('');\n this.containerNode.appendChild(this.inputNode);\n\n this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling);\n\n /* Load existing tags from input */\n if (this.element.value) {\n for (const tag of this.element.value.split(',')) {\n this.addTag(tag);\n }\n }\n\n /* Handle addition and removal of tags via key-presses */\n this.containerNode.addEventListener('keydown', this._handleInputKeyUp.bind(this));\n\n /* Handle deletions by clicking the delete button */\n this.containerNode.addEventListener('click', this._handleContainerClick.bind(this));\n }\n\n detach() {\n this.tags.clear();\n this.containerNode.remove();\n this.element.style.display = 'inline-block';\n }\n\n updateHiddenInputValue() {\n this.element.value = this.tags.join(',');\n }\n\n deleteTagNode(node) {\n this.tags.splice(this.tags.indexOf(node.dataset.value.toLowerCase()), 1);\n node.remove();\n\n /* Below the limit? Make sure the input is enabled. */\n if (this.tags.length < this.maxTags) {\n this.inputNode.disabled = false;\n }\n }\n\n addTag(tagValue) {\n tagValue = tagValue.trim();\n\n /* Tag value is probably not empty and we don't already have the same tag. */\n if (tagValue !== '' && this.tags.indexOf(tagValue.toLowerCase()) === -1) {\n this.tags.push(tagValue.toLowerCase());\n\n this.inputNode.parentNode.insertBefore(\n makeEl('' + escape(tagValue) + ''),\n this.inputNode\n );\n\n /* Too many tags, disable the input for now. */\n if (this.tags.length >= this.maxTags) {\n this.inputNode.disabled = true;\n }\n }\n }\n\n _handleInputKeyUp(evt) {\n let tagValue = this.inputNode.value;\n\n if (evt.key === 'Backspace' && tagValue === '') {\n // Remove the child\n if (this.inputNode.previousSibling) {\n this.deleteTagNode(this.inputNode.previousSibling);\n\n this.updateHiddenInputValue();\n }\n } else if (evt.key === ',') {\n this.addTag(tagValue);\n\n this.inputNode.value = ''\n this.updateHiddenInputValue();\n\n evt.preventDefault();\n }\n }\n\n _handleContainerClick(evt) {\n if (evt.target && evt.target.classList.contains('delete')) {\n this.deleteTagNode(evt.target.closest('.tag'));\n this.updateHiddenInputValue();\n }\n }\n}\n\nexport { TagsInput };\n","import { $, $$, toggleEl } from './dom';\nimport { TagsInput } from \"./tag_input\";\n\nconst setupSignupModal = () => {\n const signupButton = $('[data-target~=\"#signin\"],[data-target~=\"#signup\"]');\n\n if (signupButton) {\n signupButton.href = 'javascript:void(0)';\n\n signupButton.addEventListener('click', () => {\n $('.modal').classList.add('is-active');\n });\n\n $('.modal-button-close').addEventListener('click', () => {\n $('.modal').classList.remove('is-active');\n });\n }\n}\n\nconst globalSetup = () => {\n Array.prototype.forEach.call($$('.js-tag-input'), (el) => {\n new TagsInput(el).attach();\n });\n\n setupSignupModal();\n\n const embedButton = $('.panel-tools .embed-tool');\n\n if (embedButton){\n embedButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel-tools')) {\n toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed'));\n }\n });\n }\n\n const expandButton = $('.expand-tool');\n\n if (expandButton) {\n expandButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel')) {\n const panel = evt.target.closest('.panel');\n\n if (panel.classList.contains('panel-fullsize')) {\n panel.classList.remove('panel-fullsize');\n } else {\n panel.classList.add('panel-fullsize');\n }\n }\n });\n }\n\n // Notifications\n (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => {\n const $notification = $delete.parentNode;\n\n $delete.addEventListener('click', () => {\n $notification.parentNode.removeChild($notification);\n });\n });\n\n // Hamburger menu\n const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);\n if ($navbarBurgers.length > 0) {\n $navbarBurgers.forEach(el => {\n el.addEventListener('click', () => {\n const target = el.dataset.target;\n const $target = document.getElementById(target);\n el.classList.toggle('is-active');\n $target.classList.toggle('is-active');\n });\n });\n }\n\n const preloader = $('.preloader');\n const main = $('main');\n\n if (preloader && main) {\n preloader.remove();\n main.id = '';\n }\n\n // CAPTCHA refresh\n const captchaContainer = $('.captcha_container');\n\n if (captchaContainer) {\n const refreshElement = captchaContainer.querySelector('a');\n const imageElement = captchaContainer.querySelector('img');\n\n if (refreshElement && imageElement) {\n refreshElement.addEventListener('click', () => {\n let src = imageElement.src;\n\n if (src.indexOf('&refresh') !== -1) {\n // yeah, it's kinda cancerous. fuck off.\n src = src.split('&rand=')[0];\n } else {\n src += '&refresh';\n }\n\n imageElement.src = src + '&rand=' + Math.random();\n });\n }\n }\n\n const hiddenElements = $$('.js-hidden');\n\n if (hiddenElements) {\n Array.prototype.forEach.call(hiddenElements, (elem) => {\n toggleEl(elem);\n });\n }\n}\n\nexport { globalSetup };","import { escape, whenReady } from './dom';\nimport { DataTable, dumbFilterCallback } from './data_tables';\nimport { tagsToHtml } from \"./utils\";\nimport { globalSetup } from './main';\n\nwhenReady(() => {\n globalSetup();\n\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get('q');\n const apiUrl = /* myParam !== null ? '/api/ajax_pastes.php?q=' + myParam : */ '/api/ajax_pastes.php';\n\n const table = new DataTable(document.getElementById('archive'), {\n ajaxCallback: (resolve) => {\n fetch(apiUrl)\n .then(r => r.json())\n .then(resolve);\n },\n rowCallback: (rowData) => {\n return `\n ${escape(rowData.title)}\n ${escape(rowData.author)}\n ${tagsToHtml(rowData.tags)}\n `;\n },\n filterCallback: dumbFilterCallback,\n preFilter: myParam\n });\n table.attach();\n});","import { escape } from \"./dom\";\n\nconst tagsToHtml = (tags) => {\n return tags.map(tagData => {\n let tagColorClass;\n const tagLower = tagData.name.toLowerCase();\n if (tagLower === 'nsfw' || tagLower === 'explicit') {\n tagColorClass = 'is-danger';\n } else if (tagLower === 'safe') {\n tagColorClass = 'is-success';\n } else if (tagLower.charAt(0) === '/' && tagLower.charAt(tagLower.length - 1) === '/') {\n tagColorClass = 'is-primary';\n } else {\n tagColorClass = 'is-info';\n }\n\n return `\n ${escape(tagData.name)}\n `;\n }).join('');\n};\n\nexport { tagsToHtml };\n"],"names":["funcp","$","selector","document","querySelector","$$","querySelectorAll","makeEl","html","template","createElement","innerHTML","trim","content","firstChild","clearEl","el","removeChild","toggleEl","classList","contains","remove","add","escape","unsafe","replace","SimplePaginator","element","_classCallCheck","this","_createClass","key","value","pageCallback","addEventListener","evt","target","dataset","page","totalRecords","perPage","currentPage","lastPage","Math","floor","firstPageShow","lastPageShow","showFirstPage","abs","showLastPage","prevButtonDisabled","appendChild","concat","i","selected","nextButtonDisabled","DataTable","options","container","parentElement","ajaxCallback","data","unfilteredData","paginator","filterCallback","sortField","sortDir","_this","filterField","_updateFilter","preFilter","perPageField","Number","_updatePage","header","elem","_updateSort","attach","bind","_loadEntries","_this2","Promise","then","length","bodyElement","firstIndex","lastIndex","rowElem","rowCallback","update","n","_updateEntries","query","_step","_iterator","_createForOfIteratorHelper","s","done","datum","push","err","e","f","field","direction","newEntries","_toConsumableArray","sort","a","b","sorter","dumbFilterCallback","title","indexOf","_step2","_iterator2","tags","name","toLowerCase","TagsInput","arguments","undefined","maxTags","inputNode","containerNode","style","display","parentNode","insertBefore","nextSibling","_step3","_iterator3","split","tag","addTag","_handleInputKeyUp","_handleContainerClick","clear","join","node","splice","disabled","tagValue","previousSibling","deleteTagNode","updateHiddenInputValue","preventDefault","closest","globalSetup","signupButton","Array","prototype","forEach","call","href","embedButton","expandButton","panel","$delete","$notification","$navbarBurgers","slice","$target","getElementById","toggle","preloader","main","id","captchaContainer","refreshElement","imageElement","src","random","hiddenElements","myParam","URLSearchParams","window","location","search","get","resolve","fetch","r","json","rowData","author","map","tagData","tagColorClass","tagLower","charAt","slug","readyState"],"mappings":"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"} \ No newline at end of file diff --git a/public/assets/bundle/generic.js b/public/assets/bundle/generic.js index 0faeba8..5371d86 100644 --- a/public/assets/bundle/generic.js +++ b/public/assets/bundle/generic.js @@ -45,7 +45,7 @@ class TagsInput { this.tags = []; this.options = options; - this.maxTags = options.maxTags || 10; + this.maxTags = options.maxTags || 32; this.inputNode = null; this.containerNode = null; } @@ -54,7 +54,7 @@ class TagsInput { this.element.style.display = 'none'; this.containerNode = makeEl('
    '); - this.inputNode = makeEl(''); + this.inputNode = makeEl(''); this.containerNode.appendChild(this.inputNode); this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling); diff --git a/public/assets/bundle/generic.min.js b/public/assets/bundle/generic.min.js index ed5c8ee..0b2ff6d 100644 --- a/public/assets/bundle/generic.min.js +++ b/public/assets/bundle/generic.min.js @@ -1,2 +1,2 @@ -function e(e,n){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=function(e,n){if(!e)return;if("string"==typeof e)return t(e,n);var a=Object.prototype.toString.call(e).slice(8,-1);"Object"===a&&e.constructor&&(a=e.constructor.name);if("Map"===a||"Set"===a)return Array.from(e);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return t(e,n)}(e))||n&&e&&"number"==typeof e.length){a&&(e=a);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return s=e.done,e},e:function(e){l=!0,o=e},f:function(){try{s||null==a.return||a.return()}finally{if(l)throw o}}}}function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n/g,">").replace(/"/g,""").replace(/'/g,"'")},d=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n(this,t),this.element=e,this.tags=[],this.options=a,this.maxTags=a.maxTags||10,this.inputNode=null,this.containerNode=null}var i,r,o;return i=t,(r=[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=s('
    '),this.inputNode=s(''),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var t,n=e(this.element.value.split(","));try{for(n.s();!(t=n.n()).done;){var a=t.value;this.addTag(a)}}catch(e){n.e(e)}finally{n.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(e){this.tags.splice(this.tags.indexOf(e.dataset.value.toLowerCase()),1),e.remove(),this.tags.length'+c(e)+''),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(e){var t=this.inputNode.value;"Backspace"===e.key&&""===t?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===e.key&&(this.addTag(t),this.inputNode.value="",this.updateHiddenInputValue(),e.preventDefault())}},{key:"_handleContainerClick",value:function(e){e.target&&e.target.classList.contains("delete")&&(this.deleteTagNode(e.target.closest(".tag")),this.updateHiddenInputValue())}}])&&a(i.prototype,r),o&&a(i,o),t}();i=function(){var e;Array.prototype.forEach.call(o(".js-tag-input"),(function(e){new d(e).attach()})),(e=r('[data-target~="#signin"],[data-target~="#signup"]'))&&(e.href="javascript:void(0)",e.addEventListener("click",(function(){r(".modal").classList.add("is-active")})),r(".modal-button-close").addEventListener("click",(function(){r(".modal").classList.remove("is-active")})));var t=r(".panel-tools .embed-tool");t&&t.addEventListener("click",(function(e){e.target&&e.target.closest(".panel-tools")&&l(e.target.closest(".panel-tools").querySelector(".panel-embed"))}));var n=r(".expand-tool");n&&n.addEventListener("click",(function(e){if(e.target&&e.target.closest(".panel")){var t=e.target.closest(".panel");t.classList.contains("panel-fullsize")?t.classList.remove("panel-fullsize"):t.classList.add("panel-fullsize")}})),(document.querySelectorAll(".notification .delete")||[]).forEach((function(e){var t=e.parentNode;e.addEventListener("click",(function(){t.parentNode.removeChild(t)}))}));var a=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);a.length>0&&a.forEach((function(e){e.addEventListener("click",(function(){var t=e.dataset.target,n=document.getElementById(t);e.classList.toggle("is-active"),n.classList.toggle("is-active")}))}));var i=r(".preloader"),s=r("main");i&&s&&(i.remove(),s.id="");var c=r(".captcha_container");if(c){var u=c.querySelector("a"),h=c.querySelector("img");u&&h&&u.addEventListener("click",(function(){var e=h.src;-1!==e.indexOf("&refresh")?e=e.split("&rand=")[0]:e+="&refresh",h.src=e+"&rand="+Math.random()}))}var p=o(".js-hidden");p&&Array.prototype.forEach.call(p,(function(e){l(e)}))},"loading"!==document.readyState?i():document.addEventListener("DOMContentLoaded",i); +function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if("string"==typeof e)return n(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return n(e,t)}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,s=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return l=e.done,e},e:function(e){s=!0,o=e},f:function(){try{l||null==i.return||i.return()}finally{if(s)throw o}}}}function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n/g,">").replace(/"/g,""").replace(/'/g,"'")},u=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.element=t,this.tags=[],this.options=n,this.maxTags=n.maxTags||32,this.inputNode=null,this.containerNode=null}var n,a,r;return n=e,(a=[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=l('
    '),this.inputNode=l(''),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var e,n=t(this.element.value.split(","));try{for(n.s();!(e=n.n()).done;){var i=e.value;this.addTag(i)}}catch(e){n.e(e)}finally{n.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(e){this.tags.splice(this.tags.indexOf(e.dataset.value.toLowerCase()),1),e.remove(),this.tags.length'+c(e)+''),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(e){var t=this.inputNode.value;"Backspace"===e.key&&""===t?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===e.key&&(this.addTag(t),this.inputNode.value="",this.updateHiddenInputValue(),e.preventDefault())}},{key:"_handleContainerClick",value:function(e){e.target&&e.target.classList.contains("delete")&&(this.deleteTagNode(e.target.closest(".tag")),this.updateHiddenInputValue())}}])&&i(n.prototype,a),r&&i(n,r),Object.defineProperty(n,"prototype",{writable:!1}),e}();a=function(){var e;Array.prototype.forEach.call(o(".js-tag-input"),(function(e){new u(e).attach()})),(e=r('[data-target~="#signin"],[data-target~="#signup"]'))&&(e.href="javascript:void(0)",e.addEventListener("click",(function(){r(".modal").classList.add("is-active")})),r(".modal-button-close").addEventListener("click",(function(){r(".modal").classList.remove("is-active")})));var t=r(".panel-tools .embed-tool");t&&t.addEventListener("click",(function(e){e.target&&e.target.closest(".panel-tools")&&s(e.target.closest(".panel-tools").querySelector(".panel-embed"))}));var n=r(".expand-tool");n&&n.addEventListener("click",(function(e){if(e.target&&e.target.closest(".panel")){var t=e.target.closest(".panel");t.classList.contains("panel-fullsize")?t.classList.remove("panel-fullsize"):t.classList.add("panel-fullsize")}})),(document.querySelectorAll(".notification .delete")||[]).forEach((function(e){var t=e.parentNode;e.addEventListener("click",(function(){t.parentNode.removeChild(t)}))}));var i=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);i.length>0&&i.forEach((function(e){e.addEventListener("click",(function(){var t=e.dataset.target,n=document.getElementById(t);e.classList.toggle("is-active"),n.classList.toggle("is-active")}))}));var a=r(".preloader"),l=r("main");a&&l&&(a.remove(),l.id="");var c=r(".captcha_container");if(c){var d=c.querySelector("a"),f=c.querySelector("img");d&&f&&d.addEventListener("click",(function(){var e=f.src;-1!==e.indexOf("&refresh")?e=e.split("&rand=")[0]:e+="&refresh",f.src=e+"&rand="+Math.random()}))}var p=o(".js-hidden");p&&Array.prototype.forEach.call(p,(function(e){s(e)}))},"loading"!==document.readyState?a():document.addEventListener("DOMContentLoaded",a); //# sourceMappingURL=generic.min.js.map diff --git a/public/assets/bundle/generic.min.js.map b/public/assets/bundle/generic.min.js.map index 3be1295..e8de4ff 100644 --- a/public/assets/bundle/generic.min.js.map +++ b/public/assets/bundle/generic.min.js.map @@ -1 +1 @@ -{"version":3,"file":"generic.min.js","sources":["../../../js/dom.js","../../../js/tag_input.js","../../../js/main.js"],"sourcesContent":["const $ = function(selector) {\n return document.querySelector(selector);\n};\n\nconst $$ = function(selector) {\n return document.querySelectorAll(selector) || [];\n};\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst clearEl = function(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n};\n\nconst toggleEl = function(el) {\n if (el.classList.contains('is-hidden')) {\n el.classList.remove('is-hidden');\n } else {\n el.classList.add('is-hidden');\n }\n};\n\nconst escape = function(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nconst whenReady = function(funcp) {\n if (document.readyState !== 'loading') {\n funcp();\n } else {\n document.addEventListener('DOMContentLoaded', funcp);\n }\n}\n\nexport { whenReady, $, $$, makeEl, clearEl, toggleEl, escape };","import { makeEl, escape } from \"./dom\";\n\nclass TagsInput {\n constructor(element, options = {}) {\n this.element = element;\n this.tags = [];\n this.options = options\n\n this.maxTags = options.maxTags || 10;\n this.inputNode = null;\n this.containerNode = null;\n }\n\n attach() {\n this.element.style.display = 'none';\n\n this.containerNode = makeEl('
    ');\n this.inputNode = makeEl('');\n this.containerNode.appendChild(this.inputNode);\n\n this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling);\n\n /* Load existing tags from input */\n if (this.element.value) {\n for (const tag of this.element.value.split(',')) {\n this.addTag(tag);\n }\n }\n\n /* Handle addition and removal of tags via key-presses */\n this.containerNode.addEventListener('keydown', this._handleInputKeyUp.bind(this));\n\n /* Handle deletions by clicking the delete button */\n this.containerNode.addEventListener('click', this._handleContainerClick.bind(this));\n }\n\n detach() {\n this.tags.clear();\n this.containerNode.remove();\n this.element.style.display = 'inline-block';\n }\n\n updateHiddenInputValue() {\n this.element.value = this.tags.join(',');\n }\n\n deleteTagNode(node) {\n this.tags.splice(this.tags.indexOf(node.dataset.value.toLowerCase()), 1);\n node.remove();\n\n /* Below the limit? Make sure the input is enabled. */\n if (this.tags.length < this.maxTags) {\n this.inputNode.disabled = false;\n }\n }\n\n addTag(tagValue) {\n tagValue = tagValue.trim();\n\n /* Tag value is probably not empty and we don't already have the same tag. */\n if (tagValue !== '' && this.tags.indexOf(tagValue.toLowerCase()) === -1) {\n this.tags.push(tagValue.toLowerCase());\n\n this.inputNode.parentNode.insertBefore(\n makeEl('' + escape(tagValue) + ''),\n this.inputNode\n );\n\n /* Too many tags, disable the input for now. */\n if (this.tags.length >= this.maxTags) {\n this.inputNode.disabled = true;\n }\n }\n }\n\n _handleInputKeyUp(evt) {\n let tagValue = this.inputNode.value;\n\n if (evt.key === 'Backspace' && tagValue === '') {\n // Remove the child\n if (this.inputNode.previousSibling) {\n this.deleteTagNode(this.inputNode.previousSibling);\n\n this.updateHiddenInputValue();\n }\n } else if (evt.key === ',') {\n this.addTag(tagValue);\n\n this.inputNode.value = ''\n this.updateHiddenInputValue();\n\n evt.preventDefault();\n }\n }\n\n _handleContainerClick(evt) {\n if (evt.target && evt.target.classList.contains('delete')) {\n this.deleteTagNode(evt.target.closest('.tag'));\n this.updateHiddenInputValue();\n }\n }\n}\n\nexport { TagsInput };\n","import { $, $$, toggleEl } from './dom';\nimport { TagsInput } from \"./tag_input\";\n\nconst setupSignupModal = () => {\n const signupButton = $('[data-target~=\"#signin\"],[data-target~=\"#signup\"]');\n\n if (signupButton) {\n signupButton.href = 'javascript:void(0)';\n\n signupButton.addEventListener('click', () => {\n $('.modal').classList.add('is-active');\n });\n\n $('.modal-button-close').addEventListener('click', () => {\n $('.modal').classList.remove('is-active');\n });\n }\n}\n\nconst globalSetup = () => {\n Array.prototype.forEach.call($$('.js-tag-input'), (el) => {\n new TagsInput(el).attach();\n });\n\n setupSignupModal();\n\n const embedButton = $('.panel-tools .embed-tool');\n\n if (embedButton){\n embedButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel-tools')) {\n toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed'));\n }\n });\n }\n\n const expandButton = $('.expand-tool');\n\n if (expandButton) {\n expandButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel')) {\n const panel = evt.target.closest('.panel');\n\n if (panel.classList.contains('panel-fullsize')) {\n panel.classList.remove('panel-fullsize');\n } else {\n panel.classList.add('panel-fullsize');\n }\n }\n });\n }\n\n // Notifications\n (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => {\n const $notification = $delete.parentNode;\n\n $delete.addEventListener('click', () => {\n $notification.parentNode.removeChild($notification);\n });\n });\n\n // Hamburger menu\n const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);\n if ($navbarBurgers.length > 0) {\n $navbarBurgers.forEach(el => {\n el.addEventListener('click', () => {\n const target = el.dataset.target;\n const $target = document.getElementById(target);\n el.classList.toggle('is-active');\n $target.classList.toggle('is-active');\n });\n });\n }\n\n const preloader = $('.preloader');\n const main = $('main');\n\n if (preloader && main) {\n preloader.remove();\n main.id = '';\n }\n\n // CAPTCHA refresh\n const captchaContainer = $('.captcha_container');\n\n if (captchaContainer) {\n const refreshElement = captchaContainer.querySelector('a');\n const imageElement = captchaContainer.querySelector('img');\n\n if (refreshElement && imageElement) {\n refreshElement.addEventListener('click', () => {\n let src = imageElement.src;\n\n if (src.indexOf('&refresh') !== -1) {\n // yeah, it's kinda cancerous. fuck off.\n src = src.split('&rand=')[0];\n } else {\n src += '&refresh';\n }\n\n imageElement.src = src + '&rand=' + Math.random();\n });\n }\n }\n\n const hiddenElements = $$('.js-hidden');\n\n if (hiddenElements) {\n Array.prototype.forEach.call(hiddenElements, (elem) => {\n toggleEl(elem);\n });\n }\n}\n\nexport { globalSetup };"],"names":["funcp","$","selector","document","querySelector","$$","querySelectorAll","makeEl","html","template","createElement","innerHTML","trim","content","firstChild","toggleEl","el","classList","contains","remove","add","escape","unsafe","replace","TagsInput","element","options","tags","maxTags","inputNode","containerNode","style","display","appendChild","this","parentNode","insertBefore","nextSibling","value","split","tag","addTag","addEventListener","_handleInputKeyUp","bind","_handleContainerClick","clear","join","node","splice","indexOf","dataset","toLowerCase","length","disabled","tagValue","push","evt","key","previousSibling","deleteTagNode","updateHiddenInputValue","preventDefault","target","closest","signupButton","Array","prototype","forEach","call","attach","href","embedButton","expandButton","panel","$delete","$notification","removeChild","$navbarBurgers","slice","$target","getElementById","toggle","preloader","main","id","captchaContainer","refreshElement","imageElement","src","Math","random","hiddenElements","elem","readyState"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"generic.min.js","sources":["../../../js/dom.js","../../../js/tag_input.js","../../../js/main.js"],"sourcesContent":["const $ = function(selector) {\n return document.querySelector(selector);\n};\n\nconst $$ = function(selector) {\n return document.querySelectorAll(selector) || [];\n};\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst clearEl = function(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n};\n\nconst toggleEl = function(el) {\n if (el.classList.contains('is-hidden')) {\n el.classList.remove('is-hidden');\n } else {\n el.classList.add('is-hidden');\n }\n};\n\nconst escape = function(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nconst whenReady = function(funcp) {\n if (document.readyState !== 'loading') {\n funcp();\n } else {\n document.addEventListener('DOMContentLoaded', funcp);\n }\n}\n\nexport { whenReady, $, $$, makeEl, clearEl, toggleEl, escape };","import { makeEl, escape } from \"./dom\";\n\nclass TagsInput {\n constructor(element, options = {}) {\n this.element = element;\n this.tags = [];\n this.options = options\n\n this.maxTags = options.maxTags || 32;\n this.inputNode = null;\n this.containerNode = null;\n }\n\n attach() {\n this.element.style.display = 'none';\n\n this.containerNode = makeEl('
    ');\n this.inputNode = makeEl('');\n this.containerNode.appendChild(this.inputNode);\n\n this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling);\n\n /* Load existing tags from input */\n if (this.element.value) {\n for (const tag of this.element.value.split(',')) {\n this.addTag(tag);\n }\n }\n\n /* Handle addition and removal of tags via key-presses */\n this.containerNode.addEventListener('keydown', this._handleInputKeyUp.bind(this));\n\n /* Handle deletions by clicking the delete button */\n this.containerNode.addEventListener('click', this._handleContainerClick.bind(this));\n }\n\n detach() {\n this.tags.clear();\n this.containerNode.remove();\n this.element.style.display = 'inline-block';\n }\n\n updateHiddenInputValue() {\n this.element.value = this.tags.join(',');\n }\n\n deleteTagNode(node) {\n this.tags.splice(this.tags.indexOf(node.dataset.value.toLowerCase()), 1);\n node.remove();\n\n /* Below the limit? Make sure the input is enabled. */\n if (this.tags.length < this.maxTags) {\n this.inputNode.disabled = false;\n }\n }\n\n addTag(tagValue) {\n tagValue = tagValue.trim();\n\n /* Tag value is probably not empty and we don't already have the same tag. */\n if (tagValue !== '' && this.tags.indexOf(tagValue.toLowerCase()) === -1) {\n this.tags.push(tagValue.toLowerCase());\n\n this.inputNode.parentNode.insertBefore(\n makeEl('' + escape(tagValue) + ''),\n this.inputNode\n );\n\n /* Too many tags, disable the input for now. */\n if (this.tags.length >= this.maxTags) {\n this.inputNode.disabled = true;\n }\n }\n }\n\n _handleInputKeyUp(evt) {\n let tagValue = this.inputNode.value;\n\n if (evt.key === 'Backspace' && tagValue === '') {\n // Remove the child\n if (this.inputNode.previousSibling) {\n this.deleteTagNode(this.inputNode.previousSibling);\n\n this.updateHiddenInputValue();\n }\n } else if (evt.key === ',') {\n this.addTag(tagValue);\n\n this.inputNode.value = ''\n this.updateHiddenInputValue();\n\n evt.preventDefault();\n }\n }\n\n _handleContainerClick(evt) {\n if (evt.target && evt.target.classList.contains('delete')) {\n this.deleteTagNode(evt.target.closest('.tag'));\n this.updateHiddenInputValue();\n }\n }\n}\n\nexport { TagsInput };\n","import { $, $$, toggleEl } from './dom';\nimport { TagsInput } from \"./tag_input\";\n\nconst setupSignupModal = () => {\n const signupButton = $('[data-target~=\"#signin\"],[data-target~=\"#signup\"]');\n\n if (signupButton) {\n signupButton.href = 'javascript:void(0)';\n\n signupButton.addEventListener('click', () => {\n $('.modal').classList.add('is-active');\n });\n\n $('.modal-button-close').addEventListener('click', () => {\n $('.modal').classList.remove('is-active');\n });\n }\n}\n\nconst globalSetup = () => {\n Array.prototype.forEach.call($$('.js-tag-input'), (el) => {\n new TagsInput(el).attach();\n });\n\n setupSignupModal();\n\n const embedButton = $('.panel-tools .embed-tool');\n\n if (embedButton){\n embedButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel-tools')) {\n toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed'));\n }\n });\n }\n\n const expandButton = $('.expand-tool');\n\n if (expandButton) {\n expandButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel')) {\n const panel = evt.target.closest('.panel');\n\n if (panel.classList.contains('panel-fullsize')) {\n panel.classList.remove('panel-fullsize');\n } else {\n panel.classList.add('panel-fullsize');\n }\n }\n });\n }\n\n // Notifications\n (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => {\n const $notification = $delete.parentNode;\n\n $delete.addEventListener('click', () => {\n $notification.parentNode.removeChild($notification);\n });\n });\n\n // Hamburger menu\n const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);\n if ($navbarBurgers.length > 0) {\n $navbarBurgers.forEach(el => {\n el.addEventListener('click', () => {\n const target = el.dataset.target;\n const $target = document.getElementById(target);\n el.classList.toggle('is-active');\n $target.classList.toggle('is-active');\n });\n });\n }\n\n const preloader = $('.preloader');\n const main = $('main');\n\n if (preloader && main) {\n preloader.remove();\n main.id = '';\n }\n\n // CAPTCHA refresh\n const captchaContainer = $('.captcha_container');\n\n if (captchaContainer) {\n const refreshElement = captchaContainer.querySelector('a');\n const imageElement = captchaContainer.querySelector('img');\n\n if (refreshElement && imageElement) {\n refreshElement.addEventListener('click', () => {\n let src = imageElement.src;\n\n if (src.indexOf('&refresh') !== -1) {\n // yeah, it's kinda cancerous. fuck off.\n src = src.split('&rand=')[0];\n } else {\n src += '&refresh';\n }\n\n imageElement.src = src + '&rand=' + Math.random();\n });\n }\n }\n\n const hiddenElements = $$('.js-hidden');\n\n if (hiddenElements) {\n Array.prototype.forEach.call(hiddenElements, (elem) => {\n toggleEl(elem);\n });\n }\n}\n\nexport { globalSetup };"],"names":["funcp","$","selector","document","querySelector","$$","querySelectorAll","makeEl","html","template","createElement","innerHTML","trim","content","firstChild","toggleEl","el","classList","contains","remove","add","escape","unsafe","replace","TagsInput","element","options","arguments","length","undefined","_classCallCheck","this","tags","maxTags","inputNode","containerNode","key","value","style","display","appendChild","parentNode","insertBefore","nextSibling","_step","_iterator","_createForOfIteratorHelper","split","s","n","done","tag","addTag","err","e","f","addEventListener","_handleInputKeyUp","bind","_handleContainerClick","clear","join","node","splice","indexOf","dataset","toLowerCase","disabled","tagValue","push","evt","previousSibling","deleteTagNode","updateHiddenInputValue","preventDefault","target","closest","signupButton","Array","prototype","forEach","call","attach","href","embedButton","expandButton","panel","$delete","$notification","removeChild","$navbarBurgers","slice","$target","getElementById","toggle","preloader","main","id","captchaContainer","refreshElement","imageElement","src","Math","random","hiddenElements","elem","readyState"],"mappings":"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"} \ No newline at end of file diff --git a/public/assets/bundle/user_profile.js b/public/assets/bundle/user_profile.js index 4321ac7..4101e37 100644 --- a/public/assets/bundle/user_profile.js +++ b/public/assets/bundle/user_profile.js @@ -289,14 +289,14 @@ const dumbFilterCallback = (datum, query) => { }; const tagsToHtml = (tags) => { - return tags.map(tagData => { let tagColorClass; - if (tagData.name.indexOf('nsfw') !== -1) { + const tagLower = tagData.name.toLowerCase(); + if (tagLower === 'nsfw' || tagLower === 'explicit') { tagColorClass = 'is-danger'; - } else if (tagData.name.indexOf('safe') !== -1) { + } else if (tagLower === 'safe') { tagColorClass = 'is-success'; - } else if (tagData.name.indexOf('/') !== -1) { + } else if (tagLower.charAt(0) === '/' && tagLower.charAt(tagLower.length - 1) === '/') { tagColorClass = 'is-primary'; } else { tagColorClass = 'is-info'; @@ -314,7 +314,7 @@ class TagsInput { this.tags = []; this.options = options; - this.maxTags = options.maxTags || 10; + this.maxTags = options.maxTags || 32; this.inputNode = null; this.containerNode = null; } @@ -323,7 +323,7 @@ class TagsInput { this.element.style.display = 'none'; this.containerNode = makeEl('
    '); - this.inputNode = makeEl(''); + this.inputNode = makeEl(''); this.containerNode.appendChild(this.inputNode); this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling); diff --git a/public/assets/bundle/user_profile.min.js b/public/assets/bundle/user_profile.min.js index 04bad95..26792dc 100644 --- a/public/assets/bundle/user_profile.min.js +++ b/public/assets/bundle/user_profile.min.js @@ -1,2 +1,2 @@ -function t(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=a(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,o=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return o=t.done,t},e:function(t){l=!0,s=t},f:function(){try{o||null==n.return||n.return()}finally{if(l)throw s}}}}function a(t,e){if(t){if("string"==typeof t)return n(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(t,e):void 0}}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a/g,">").replace(/"/g,""").replace(/'/g,"'")},f=function(){function t(e){i(this,t),this.element=e}return s(t,[{key:"attach",value:function(t){this.element.addEventListener("click",(function(e){e.target&&e.target.classList.contains("paginator__button")&&t(+e.target.dataset.page)}))}},{key:"update",value:function(t,e,a){u(this.element);var n=Math.floor(t/e);if(0!==n){var i=a-2<0?0:a-2,r=a+2>n?n:a+2,s=Math.abs(0-a)>2,o=Math.abs(n-a)>2,l=0===a?"disabled":"";this.element.appendChild(d(''))),s&&(this.element.appendChild(d('"))),this.element.appendChild(d('')));for(var c=i;c<=r;c++){var h=c===a?"paginator__button--selected":"";this.element.appendChild(d('")))}o&&(this.element.appendChild(d('')),this.element.appendChild(d('"))));var p=a===n?"disabled":"";this.element.appendChild(d('')))}}}]),t}(),g=function(){function a(t,e){i(this,a),this.element=t,this.container=t.parentElement,this.options=e,this.ajaxCallback=e.ajaxCallback,this.data=[],this.unfilteredData=[],this.totalRecords=-1,this.perPage=20,this.currentPage=0,this.paginator=new f(this.container.querySelector(".paginator")),this.filterCallback=e.filterCallback,this.sortField=null,this.sortDir=!0}return s(a,[{key:"attach",value:function(){var t=this;this.filterField=this.container.querySelector("input.search"),this.filterField&&this.filterCallback&&(this.filterField.addEventListener("keyup",(function(e){e.target&&t._updateFilter(e.target.value)})),this.options.preFilter&&(this.filterField.value=this.options.preFilter)),this.perPageField=this.container.querySelector("select[name=per_page]"),this.perPageField&&this.perPageField.addEventListener("change",(function(e){t.perPage=Number(e.target.value),t._updatePage(0)}));var e=this.element.querySelector("tr.paginator__sort");e&&e.addEventListener("click",(function(e){var a=e.target;if(a.dataset.sortField){if(t.sortField){var n=t.element.querySelector("th[data-sort-field=".concat(t.sortField,"]"));n.classList.remove("paginator__sort--down"),n.classList.remove("paginator__sort--up")}t._updateSort(a.dataset.sortField,!t.sortDir),a.classList.add(t.sortDir?"paginator__sort--up":"paginator__sort--down")}})),this.paginator.attach(this._updatePage.bind(this)),this._loadEntries()}},{key:"_loadEntries",value:function(){var t=this;new Promise(this.ajaxCallback).then((function(e){t.element.classList.remove("hidden"),t.unfilteredData=e.data,t._updateFilter(t.options.preFilter)}))}},{key:"_updateEntries",value:function(t){this.data=t,this.totalRecords=this.data.length;var e=this.element.querySelector("tbody");u(e);for(var a=this.perPage*this.currentPage,n=a+this.perPage>this.totalRecords?this.totalRecords:a+this.perPage,i=a;in[e]?i=1:t[e]\n ').concat(p(t.name),"\n ")})).join("")},y=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i(this,t),this.element=e,this.tags=[],this.options=a,this.maxTags=a.maxTags||10,this.inputNode=null,this.containerNode=null}return s(t,[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=d('
    '),this.inputNode=d(''),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var t,a=e(this.element.value.split(","));try{for(a.s();!(t=a.n()).done;){var n=t.value;this.addTag(n)}}catch(t){a.e(t)}finally{a.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(t){this.tags.splice(this.tags.indexOf(t.dataset.value.toLowerCase()),1),t.remove(),this.tags.length'+p(t)+''),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(t){var e=this.inputNode.value;"Backspace"===t.key&&""===e?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===t.key&&(this.addTag(e),this.inputNode.value="",this.updateHiddenInputValue(),t.preventDefault())}},{key:"_handleContainerClick",value:function(t){t.target&&t.target.classList.contains("delete")&&(this.deleteTagNode(t.target.closest(".tag")),this.updateHiddenInputValue())}}]),t}(),b=function(){var t;Array.prototype.forEach.call(c(".js-tag-input"),(function(t){new y(t).attach()})),(t=l('[data-target~="#signin"],[data-target~="#signup"]'))&&(t.href="javascript:void(0)",t.addEventListener("click",(function(){l(".modal").classList.add("is-active")})),l(".modal-button-close").addEventListener("click",(function(){l(".modal").classList.remove("is-active")})));var e=l(".panel-tools .embed-tool");e&&e.addEventListener("click",(function(t){t.target&&t.target.closest(".panel-tools")&&h(t.target.closest(".panel-tools").querySelector(".panel-embed"))}));var a=l(".expand-tool");a&&a.addEventListener("click",(function(t){if(t.target&&t.target.closest(".panel")){var e=t.target.closest(".panel");e.classList.contains("panel-fullsize")?e.classList.remove("panel-fullsize"):e.classList.add("panel-fullsize")}})),(document.querySelectorAll(".notification .delete")||[]).forEach((function(t){var e=t.parentNode;t.addEventListener("click",(function(){e.parentNode.removeChild(e)}))}));var n=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);n.length>0&&n.forEach((function(t){t.addEventListener("click",(function(){var e=t.dataset.target,a=document.getElementById(e);t.classList.toggle("is-active"),a.classList.toggle("is-active")}))}));var i=l(".preloader"),r=l("main");i&&r&&(i.remove(),r.id="");var s=l(".captcha_container");if(s){var o=s.querySelector("a"),d=s.querySelector("img");o&&d&&o.addEventListener("click",(function(){var t=d.src;-1!==t.indexOf("&refresh")?t=t.split("&rand=")[0]:t+="&refresh",d.src=t+"&rand="+Math.random()}))}var u=c(".js-hidden");u&&Array.prototype.forEach.call(u,(function(t){h(t)}))},k=function(t){return t.dataset.pasteInfo?JSON.parse(t.dataset.pasteInfo):null};o=function(){b();var t=new URLSearchParams(window.location.search).get("q"),e=document.getElementById("archive");new g(e,{ajaxCallback:function(t){t({data:Array.prototype.map.call(e.querySelectorAll("tbody > tr"),k)})},rowCallback:function(t){var e,a=(e=document.getElementById("js-data-holder"))?{userId:e.dataset.userId,csrfToken:e.dataset.csrfToken}:{userId:null,csrfToken:null},n=parseInt(t.user_id)===parseInt(a.userId),i=n?'\n
    \n \n \n \n
    \n '):"",r=new Date(t.created_at).toLocaleString(),s=n?''.concat(t.visibility,""):"";return'\n ').concat(p(t.title),'\n ').concat(r,"\n ").concat(s,'\n ').concat(t.views||0,"\n ").concat(m(t.tags),"\n ").concat(i,"\n ")},filterCallback:v,preFilter:t}).attach();var a=document.getElementById("favs");a&&new g(a,{ajaxCallback:function(t){t({data:Array.prototype.map.call(a.querySelectorAll("tbody > tr"),k)})},rowCallback:function(t){var e=t.recently_updated?"":"",a=new Date(t.favourited_at).toLocaleString();return'\n ').concat(p(t.title),'\n ').concat(a,'\n ').concat(e,"\n ").concat(m(t.tags),"\n ")},filterCallback:v}).attach()},"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o); +function t(t){return function(t){if(Array.isArray(t))return n(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||a(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function e(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=a(t))||e&&t&&"number"==typeof t.length){n&&(t=n);var i=0,r=function(){};return{s:r,n:function(){return i>=t.length?{done:!0}:{done:!1,value:t[i++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,l=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return s=t.done,t},e:function(t){l=!0,o=t},f:function(){try{s||null==n.return||n.return()}finally{if(l)throw o}}}}function a(t,e){if(t){if("string"==typeof t)return n(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(t,e):void 0}}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a/g,">").replace(/"/g,""").replace(/'/g,"'")},v=function(){function t(e){r(this,t),this.element=e}return s(t,[{key:"attach",value:function(t){this.element.addEventListener("click",(function(e){e.target&&e.target.classList.contains("paginator__button")&&t(+e.target.dataset.page)}))}},{key:"update",value:function(t,e,a){h(this.element);var n=Math.floor(t/e);if(0!==n){var i=a-2<0?0:a-2,r=a+2>n?n:a+2,o=Math.abs(0-a)>2,s=Math.abs(n-a)>2,l=0===a?"disabled":"";this.element.appendChild(u(''))),o&&(this.element.appendChild(u('"))),this.element.appendChild(u('')));for(var c=i;c<=r;c++){var d=c===a?"paginator__button--selected":"";this.element.appendChild(u('")))}s&&(this.element.appendChild(u('')),this.element.appendChild(u('"))));var p=a===n?"disabled":"";this.element.appendChild(u('')))}}}]),t}(),g=function(){function a(t,e){r(this,a),this.element=t,this.container=t.parentElement,this.options=e,this.ajaxCallback=e.ajaxCallback,this.data=[],this.unfilteredData=[],this.totalRecords=-1,this.perPage=20,this.currentPage=0,this.paginator=new v(this.container.querySelector(".paginator")),this.filterCallback=e.filterCallback,this.sortField=null,this.sortDir=!0}return s(a,[{key:"attach",value:function(){var t=this;this.filterField=this.container.querySelector("input.search"),this.filterField&&this.filterCallback&&(this.filterField.addEventListener("keyup",(function(e){e.target&&t._updateFilter(e.target.value)})),this.options.preFilter&&(this.filterField.value=this.options.preFilter)),this.perPageField=this.container.querySelector("select[name=per_page]"),this.perPageField&&this.perPageField.addEventListener("change",(function(e){t.perPage=Number(e.target.value),t._updatePage(0)}));var e=this.element.querySelector("tr.paginator__sort");e&&e.addEventListener("click",(function(e){var a=e.target;if(a.dataset.sortField){if(t.sortField){var n=t.element.querySelector("th[data-sort-field=".concat(t.sortField,"]"));n.classList.remove("paginator__sort--down"),n.classList.remove("paginator__sort--up")}t._updateSort(a.dataset.sortField,!t.sortDir),a.classList.add(t.sortDir?"paginator__sort--up":"paginator__sort--down")}})),this.paginator.attach(this._updatePage.bind(this)),this._loadEntries()}},{key:"_loadEntries",value:function(){var t=this;new Promise(this.ajaxCallback).then((function(e){t.element.classList.remove("hidden"),t.unfilteredData=e.data,t._updateFilter(t.options.preFilter)}))}},{key:"_updateEntries",value:function(t){this.data=t,this.totalRecords=this.data.length;var e=this.element.querySelector("tbody");h(e);for(var a=this.perPage*this.currentPage,n=a+this.perPage>this.totalRecords?this.totalRecords:a+this.perPage,i=a;in[e]?i=1:t[e]\n ').concat(f(t.name),"\n ")})).join("")},b=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};r(this,t),this.element=e,this.tags=[],this.options=a,this.maxTags=a.maxTags||32,this.inputNode=null,this.containerNode=null}return s(t,[{key:"attach",value:function(){if(this.element.style.display="none",this.containerNode=u('
    '),this.inputNode=u(''),this.containerNode.appendChild(this.inputNode),this.element.parentNode.insertBefore(this.containerNode,this.element.nextSibling),this.element.value){var t,a=e(this.element.value.split(","));try{for(a.s();!(t=a.n()).done;){var n=t.value;this.addTag(n)}}catch(t){a.e(t)}finally{a.f()}}this.containerNode.addEventListener("keydown",this._handleInputKeyUp.bind(this)),this.containerNode.addEventListener("click",this._handleContainerClick.bind(this))}},{key:"detach",value:function(){this.tags.clear(),this.containerNode.remove(),this.element.style.display="inline-block"}},{key:"updateHiddenInputValue",value:function(){this.element.value=this.tags.join(",")}},{key:"deleteTagNode",value:function(t){this.tags.splice(this.tags.indexOf(t.dataset.value.toLowerCase()),1),t.remove(),this.tags.length'+f(t)+''),this.inputNode),this.tags.length>=this.maxTags&&(this.inputNode.disabled=!0))}},{key:"_handleInputKeyUp",value:function(t){var e=this.inputNode.value;"Backspace"===t.key&&""===e?this.inputNode.previousSibling&&(this.deleteTagNode(this.inputNode.previousSibling),this.updateHiddenInputValue()):","===t.key&&(this.addTag(e),this.inputNode.value="",this.updateHiddenInputValue(),t.preventDefault())}},{key:"_handleContainerClick",value:function(t){t.target&&t.target.classList.contains("delete")&&(this.deleteTagNode(t.target.closest(".tag")),this.updateHiddenInputValue())}}]),t}(),k=function(){var t;Array.prototype.forEach.call(d(".js-tag-input"),(function(t){new b(t).attach()})),(t=c('[data-target~="#signin"],[data-target~="#signup"]'))&&(t.href="javascript:void(0)",t.addEventListener("click",(function(){c(".modal").classList.add("is-active")})),c(".modal-button-close").addEventListener("click",(function(){c(".modal").classList.remove("is-active")})));var e=c(".panel-tools .embed-tool");e&&e.addEventListener("click",(function(t){t.target&&t.target.closest(".panel-tools")&&p(t.target.closest(".panel-tools").querySelector(".panel-embed"))}));var a=c(".expand-tool");a&&a.addEventListener("click",(function(t){if(t.target&&t.target.closest(".panel")){var e=t.target.closest(".panel");e.classList.contains("panel-fullsize")?e.classList.remove("panel-fullsize"):e.classList.add("panel-fullsize")}})),(document.querySelectorAll(".notification .delete")||[]).forEach((function(t){var e=t.parentNode;t.addEventListener("click",(function(){e.parentNode.removeChild(e)}))}));var n=Array.prototype.slice.call(document.querySelectorAll(".navbar-burger"),0);n.length>0&&n.forEach((function(t){t.addEventListener("click",(function(){var e=t.dataset.target,a=document.getElementById(e);t.classList.toggle("is-active"),a.classList.toggle("is-active")}))}));var i=c(".preloader"),r=c("main");i&&r&&(i.remove(),r.id="");var o=c(".captcha_container");if(o){var s=o.querySelector("a"),l=o.querySelector("img");s&&l&&s.addEventListener("click",(function(){var t=l.src;-1!==t.indexOf("&refresh")?t=t.split("&rand=")[0]:t+="&refresh",l.src=t+"&rand="+Math.random()}))}var u=d(".js-hidden");u&&Array.prototype.forEach.call(u,(function(t){p(t)}))},_=function(t){return t.dataset.pasteInfo?JSON.parse(t.dataset.pasteInfo):null};l=function(){k();var t=new URLSearchParams(window.location.search).get("q"),e=document.getElementById("archive");new g(e,{ajaxCallback:function(t){t({data:Array.prototype.map.call(e.querySelectorAll("tbody > tr"),_)})},rowCallback:function(t){var e,a=(e=document.getElementById("js-data-holder"))?{userId:e.dataset.userId,csrfToken:e.dataset.csrfToken}:{userId:null,csrfToken:null},n=parseInt(t.user_id)===parseInt(a.userId),i=n?'\n
    \n \n \n \n
    \n '):"",r=new Date(t.created_at).toLocaleString(),o=n?''.concat(t.visibility,""):"";return'\n ').concat(f(t.title),'\n ').concat(r,"\n ").concat(o,'\n ').concat(t.views||0,"\n ").concat(y(t.tags),"\n ").concat(i,"\n ")},filterCallback:m,preFilter:t}).attach();var a=document.getElementById("favs");a&&new g(a,{ajaxCallback:function(t){t({data:Array.prototype.map.call(a.querySelectorAll("tbody > tr"),_)})},rowCallback:function(t){var e=t.recently_updated?"":"",a=new Date(t.favourited_at).toLocaleString();return'\n ').concat(f(t.title),'\n ').concat(a,'\n ').concat(e,"\n ").concat(y(t.tags),"\n ")},filterCallback:m}).attach()},"loading"!==document.readyState?l():document.addEventListener("DOMContentLoaded",l); //# sourceMappingURL=user_profile.min.js.map diff --git a/public/assets/bundle/user_profile.min.js.map b/public/assets/bundle/user_profile.min.js.map index e01978b..0ceb40f 100644 --- a/public/assets/bundle/user_profile.min.js.map +++ b/public/assets/bundle/user_profile.min.js.map @@ -1 +1 @@ -{"version":3,"file":"user_profile.min.js","sources":["../../../js/dom.js","../../../js/data_tables.js","../../../js/utils.js","../../../js/tag_input.js","../../../js/main.js","../../../js/user_profile.js"],"sourcesContent":["const $ = function(selector) {\n return document.querySelector(selector);\n};\n\nconst $$ = function(selector) {\n return document.querySelectorAll(selector) || [];\n};\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst clearEl = function(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n};\n\nconst toggleEl = function(el) {\n if (el.classList.contains('is-hidden')) {\n el.classList.remove('is-hidden');\n } else {\n el.classList.add('is-hidden');\n }\n};\n\nconst escape = function(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nconst whenReady = function(funcp) {\n if (document.readyState !== 'loading') {\n funcp();\n } else {\n document.addEventListener('DOMContentLoaded', funcp);\n }\n}\n\nexport { whenReady, $, $$, makeEl, clearEl, toggleEl, escape };","import { makeEl, clearEl } from \"./dom\";\n\nclass SimplePaginator {\n constructor(element) {\n this.element = element;\n }\n\n attach(pageCallback) {\n this.element.addEventListener('click', evt => {\n if (evt.target && evt.target.classList.contains('paginator__button')) {\n pageCallback(+evt.target.dataset.page);\n }\n });\n }\n\n update(totalRecords, perPage, currentPage) {\n clearEl(this.element);\n\n /* First and last page in existence */\n const firstPage = 0;\n const lastPage = Math.floor(totalRecords / perPage); // ish?\n const numPagesToShow = 2;\n\n if (lastPage === firstPage) {\n return;\n }\n\n /* First and last page the main paginator will show */\n const firstPageShow = (currentPage - numPagesToShow) < firstPage ? firstPage : (currentPage - numPagesToShow);\n const lastPageShow = (currentPage + numPagesToShow) > lastPage ? lastPage : (currentPage + numPagesToShow);\n\n /* Whether to show the first and last pages in existence at the ends of the paginator */\n const showFirstPage = (Math.abs(firstPage - currentPage)) > (numPagesToShow);\n const showLastPage = (Math.abs(lastPage - currentPage)) > (numPagesToShow);\n\n\n const prevButtonDisabled = currentPage === firstPage ? 'disabled' : ''\n\n /* Previous button */\n this.element.appendChild(makeEl(\n ``\n ));\n\n /* First page button */\n if (showFirstPage) {\n this.element.appendChild(makeEl(\n ``\n ));\n this.element.appendChild(makeEl(``));\n }\n\n /* \"window\" buttons */\n for (let i = firstPageShow; i <= lastPageShow; i++) {\n const selected = (i === currentPage ? 'paginator__button--selected' : '');\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n /* Last page button */\n if (showLastPage) {\n this.element.appendChild(makeEl(``));\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n const nextButtonDisabled = currentPage === lastPage ? 'disabled' : ''\n /* Next button */\n this.element.appendChild(makeEl(\n ``\n ));\n }\n}\n\nclass DataTable {\n constructor(element, options) {\n this.element = element;\n this.container = element.parentElement;\n this.options = options;\n\n this.ajaxCallback = options.ajaxCallback;\n this.data = [];\n this.unfilteredData = [];\n\n this.totalRecords = -1;\n this.perPage = 20;\n this.currentPage = 0;\n\n this.paginator = new SimplePaginator(this.container.querySelector('.paginator'));\n\n this.filterCallback = options.filterCallback;\n this.sortField = null;\n this.sortDir = true;\n }\n\n attach() {\n this.filterField = this.container.querySelector('input.search');\n if (this.filterField && this.filterCallback) {\n this.filterField.addEventListener('keyup', evt => {\n if (evt.target) {\n this._updateFilter(evt.target.value);\n }\n });\n\n if (this.options.preFilter) {\n this.filterField.value = this.options.preFilter;\n }\n }\n\n this.perPageField = this.container.querySelector('select[name=per_page]');\n\n if (this.perPageField) {\n this.perPageField.addEventListener('change', evt => {\n this.perPage = Number(evt.target.value);\n this._updatePage(0);\n });\n }\n\n const header = this.element.querySelector('tr.paginator__sort');\n\n if (header) {\n header.addEventListener('click', evt => {\n const target = evt.target;\n\n if (!target.dataset.sortField) {\n return;\n }\n\n if (this.sortField) {\n const elem = this.element.querySelector(`th[data-sort-field=${this.sortField}]`)\n elem.classList.remove('paginator__sort--down');\n elem.classList.remove('paginator__sort--up');\n }\n\n this._updateSort(target.dataset.sortField, !this.sortDir);\n\n target.classList.add(this.sortDir ? 'paginator__sort--up' : 'paginator__sort--down');\n });\n }\n\n this.paginator.attach(this._updatePage.bind(this));\n this._loadEntries();\n }\n\n /* Load the requested data from the server, and when done, update the DOM. */\n _loadEntries() {\n new Promise(this.ajaxCallback)\n .then(data => {\n this.element.classList.remove('hidden');\n this.unfilteredData = data.data;\n this._updateFilter(this.options.preFilter);\n });\n }\n\n /* Update the DOM to reflect the current state of the data we have loaded */\n _updateEntries(data) {\n this.data = data;\n this.totalRecords = this.data.length;\n\n const bodyElement = this.element.querySelector('tbody');\n clearEl(bodyElement);\n\n const firstIndex = (this.perPage * this.currentPage);\n const lastIndex = (firstIndex + this.perPage) > this.totalRecords ? this.totalRecords : (firstIndex + this.perPage);\n\n\n for (let i = firstIndex; i < lastIndex; i++) {\n const rowElem = makeEl(this.options.rowCallback(this.data[i]));\n rowElem.classList.add(i % 2 === 0 ? 'odd' : 'even');\n\n bodyElement.appendChild(rowElem);\n }\n\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n }\n\n _updatePage(n) {\n this.currentPage = n;\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n this._updateEntries(this.data);\n }\n\n _updateFilter(query) {\n /* clearing the query */\n if (query === null || query === '') {\n this._updateEntries(this.unfilteredData);\n return;\n }\n\n let data = [];\n for (const datum of this.unfilteredData) {\n if (this.filterCallback(datum, query)) {\n data.push(datum);\n }\n }\n\n this._updatePage(0)\n this._updateEntries(data);\n }\n\n _updateSort(field, direction) {\n this.sortField = field;\n this.sortDir = direction;\n\n let newEntries = [...this.data].sort((a, b) => {\n let sorter = 0;\n\n if (a[field] > b[field]) {\n sorter = 1;\n } else if (a[field] < b[field]) {\n sorter = -1;\n }\n\n if (!direction) {\n sorter = -sorter;\n }\n\n return sorter;\n });\n\n this._updatePage(0);\n this._updateEntries(newEntries);\n }\n}\n\nconst dumbFilterCallback = (datum, query) => {\n if (!query) {\n return true;\n }\n\n if (datum.title.indexOf(query) !== -1) {\n return true;\n }\n\n /* this is inefficient */\n for (const tag of datum.tags) {\n if (tag.name.toLowerCase() === query.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { DataTable, dumbFilterCallback };\n","import { escape } from \"./dom\";\n\nconst tagsToHtml = (tags) => {\n\n return tags.map(tagData => {\n let tagColorClass;\n if (tagData.name.indexOf('nsfw') !== -1) {\n tagColorClass = 'is-danger';\n } else if (tagData.name.indexOf('safe') !== -1) {\n tagColorClass = 'is-success';\n } else if (tagData.name.indexOf('/') !== -1) {\n tagColorClass = 'is-primary';\n } else {\n tagColorClass = 'is-info';\n }\n\n return `\n ${escape(tagData.name)}\n `;\n }).join('');\n};\n\nexport { tagsToHtml };\n","import { makeEl, escape } from \"./dom\";\n\nclass TagsInput {\n constructor(element, options = {}) {\n this.element = element;\n this.tags = [];\n this.options = options\n\n this.maxTags = options.maxTags || 10;\n this.inputNode = null;\n this.containerNode = null;\n }\n\n attach() {\n this.element.style.display = 'none';\n\n this.containerNode = makeEl('
    ');\n this.inputNode = makeEl('');\n this.containerNode.appendChild(this.inputNode);\n\n this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling);\n\n /* Load existing tags from input */\n if (this.element.value) {\n for (const tag of this.element.value.split(',')) {\n this.addTag(tag);\n }\n }\n\n /* Handle addition and removal of tags via key-presses */\n this.containerNode.addEventListener('keydown', this._handleInputKeyUp.bind(this));\n\n /* Handle deletions by clicking the delete button */\n this.containerNode.addEventListener('click', this._handleContainerClick.bind(this));\n }\n\n detach() {\n this.tags.clear();\n this.containerNode.remove();\n this.element.style.display = 'inline-block';\n }\n\n updateHiddenInputValue() {\n this.element.value = this.tags.join(',');\n }\n\n deleteTagNode(node) {\n this.tags.splice(this.tags.indexOf(node.dataset.value.toLowerCase()), 1);\n node.remove();\n\n /* Below the limit? Make sure the input is enabled. */\n if (this.tags.length < this.maxTags) {\n this.inputNode.disabled = false;\n }\n }\n\n addTag(tagValue) {\n tagValue = tagValue.trim();\n\n /* Tag value is probably not empty and we don't already have the same tag. */\n if (tagValue !== '' && this.tags.indexOf(tagValue.toLowerCase()) === -1) {\n this.tags.push(tagValue.toLowerCase());\n\n this.inputNode.parentNode.insertBefore(\n makeEl('' + escape(tagValue) + ''),\n this.inputNode\n );\n\n /* Too many tags, disable the input for now. */\n if (this.tags.length >= this.maxTags) {\n this.inputNode.disabled = true;\n }\n }\n }\n\n _handleInputKeyUp(evt) {\n let tagValue = this.inputNode.value;\n\n if (evt.key === 'Backspace' && tagValue === '') {\n // Remove the child\n if (this.inputNode.previousSibling) {\n this.deleteTagNode(this.inputNode.previousSibling);\n\n this.updateHiddenInputValue();\n }\n } else if (evt.key === ',') {\n this.addTag(tagValue);\n\n this.inputNode.value = ''\n this.updateHiddenInputValue();\n\n evt.preventDefault();\n }\n }\n\n _handleContainerClick(evt) {\n if (evt.target && evt.target.classList.contains('delete')) {\n this.deleteTagNode(evt.target.closest('.tag'));\n this.updateHiddenInputValue();\n }\n }\n}\n\nexport { TagsInput };\n","import { $, $$, toggleEl } from './dom';\nimport { TagsInput } from \"./tag_input\";\n\nconst setupSignupModal = () => {\n const signupButton = $('[data-target~=\"#signin\"],[data-target~=\"#signup\"]');\n\n if (signupButton) {\n signupButton.href = 'javascript:void(0)';\n\n signupButton.addEventListener('click', () => {\n $('.modal').classList.add('is-active');\n });\n\n $('.modal-button-close').addEventListener('click', () => {\n $('.modal').classList.remove('is-active');\n });\n }\n}\n\nconst globalSetup = () => {\n Array.prototype.forEach.call($$('.js-tag-input'), (el) => {\n new TagsInput(el).attach();\n });\n\n setupSignupModal();\n\n const embedButton = $('.panel-tools .embed-tool');\n\n if (embedButton){\n embedButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel-tools')) {\n toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed'));\n }\n });\n }\n\n const expandButton = $('.expand-tool');\n\n if (expandButton) {\n expandButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel')) {\n const panel = evt.target.closest('.panel');\n\n if (panel.classList.contains('panel-fullsize')) {\n panel.classList.remove('panel-fullsize');\n } else {\n panel.classList.add('panel-fullsize');\n }\n }\n });\n }\n\n // Notifications\n (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => {\n const $notification = $delete.parentNode;\n\n $delete.addEventListener('click', () => {\n $notification.parentNode.removeChild($notification);\n });\n });\n\n // Hamburger menu\n const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);\n if ($navbarBurgers.length > 0) {\n $navbarBurgers.forEach(el => {\n el.addEventListener('click', () => {\n const target = el.dataset.target;\n const $target = document.getElementById(target);\n el.classList.toggle('is-active');\n $target.classList.toggle('is-active');\n });\n });\n }\n\n const preloader = $('.preloader');\n const main = $('main');\n\n if (preloader && main) {\n preloader.remove();\n main.id = '';\n }\n\n // CAPTCHA refresh\n const captchaContainer = $('.captcha_container');\n\n if (captchaContainer) {\n const refreshElement = captchaContainer.querySelector('a');\n const imageElement = captchaContainer.querySelector('img');\n\n if (refreshElement && imageElement) {\n refreshElement.addEventListener('click', () => {\n let src = imageElement.src;\n\n if (src.indexOf('&refresh') !== -1) {\n // yeah, it's kinda cancerous. fuck off.\n src = src.split('&rand=')[0];\n } else {\n src += '&refresh';\n }\n\n imageElement.src = src + '&rand=' + Math.random();\n });\n }\n }\n\n const hiddenElements = $$('.js-hidden');\n\n if (hiddenElements) {\n Array.prototype.forEach.call(hiddenElements, (elem) => {\n toggleEl(elem);\n });\n }\n}\n\nexport { globalSetup };","import { escape, whenReady } from './dom';\nimport { DataTable, dumbFilterCallback } from './data_tables';\nimport { tagsToHtml } from \"./utils\";\nimport { globalSetup } from './main';\n\nconst getUserInfo = () => {\n const elem = document.getElementById('js-data-holder');\n\n if (!elem) {\n return { userId: null, csrfToken: null };\n }\n\n return { userId: elem.dataset.userId, csrfToken: elem.dataset.csrfToken };\n};\n\nconst parsePasteInfo = (elem) => {\n if (!elem.dataset.pasteInfo) {\n return null;\n }\n\n return JSON.parse(elem.dataset.pasteInfo);\n};\n\nwhenReady(() => {\n globalSetup();\n\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get('q');\n const myPastesElem = document.getElementById('archive');\n const table = new DataTable(myPastesElem, {\n ajaxCallback: (resolve) => {\n resolve({\n data: Array.prototype.map.call(myPastesElem.querySelectorAll('tbody > tr'), parsePasteInfo)\n });\n },\n rowCallback: (rowData) => {\n const userData = getUserInfo();\n const ownedByUser = (parseInt(rowData.user_id) === parseInt(userData.userId));\n\n const deleteElem = ownedByUser ? `\n
    \n \n \n \n
    \n ` : '';\n const pasteCreatedAt = new Date(rowData.created_at).toLocaleString();\n const pasteVisibility = ownedByUser ? `${rowData.visibility}` : '';\n\n return `\n ${escape(rowData.title)}\n ${pasteCreatedAt}\n ${pasteVisibility}\n ${rowData.views || 0}\n ${tagsToHtml(rowData.tags)}\n ${deleteElem}\n `;\n },\n filterCallback: dumbFilterCallback,\n preFilter: myParam\n });\n table.attach();\n\n const myFavesElem = document.getElementById('favs');\n\n if (!myFavesElem) {\n return;\n }\n\n const faveTable = new DataTable(myFavesElem, {\n ajaxCallback: (resolve) => {\n resolve({\n data: Array.prototype.map.call(myFavesElem.querySelectorAll('tbody > tr'), parsePasteInfo)\n });\n },\n rowCallback: (rowData) => {\n const recentUpdate = rowData.recently_updated ?\n `` :\n ``;\n const pasteFavedAt = new Date(rowData.favourited_at).toLocaleString();\n\n // ${escape(rowData.author)}\n return `\n ${escape(rowData.title)}\n ${pasteFavedAt}\n ${recentUpdate}\n ${tagsToHtml(rowData.tags)}\n `;\n },\n filterCallback: dumbFilterCallback\n });\n faveTable.attach();\n});"],"names":["funcp","$","selector","document","querySelector","$$","querySelectorAll","makeEl","html","template","createElement","innerHTML","trim","content","firstChild","clearEl","el","removeChild","toggleEl","classList","contains","remove","add","escape","unsafe","replace","SimplePaginator","element","pageCallback","addEventListener","evt","target","dataset","page","totalRecords","perPage","currentPage","this","lastPage","Math","floor","firstPageShow","lastPageShow","showFirstPage","abs","showLastPage","prevButtonDisabled","appendChild","i","selected","nextButtonDisabled","DataTable","options","container","parentElement","ajaxCallback","data","unfilteredData","paginator","filterCallback","sortField","sortDir","filterField","_this","_updateFilter","value","preFilter","perPageField","Number","_updatePage","header","elem","_updateSort","attach","bind","_loadEntries","Promise","then","_this2","length","bodyElement","firstIndex","lastIndex","rowElem","rowCallback","update","n","_updateEntries","query","datum","push","field","direction","newEntries","_toConsumableArray","sort","a","b","sorter","dumbFilterCallback","title","indexOf","tags","name","toLowerCase","tagsToHtml","map","tagData","tagColorClass","slug","join","TagsInput","maxTags","inputNode","containerNode","style","display","parentNode","insertBefore","nextSibling","split","tag","addTag","_handleInputKeyUp","_handleContainerClick","clear","node","splice","disabled","tagValue","key","previousSibling","deleteTagNode","updateHiddenInputValue","preventDefault","closest","globalSetup","signupButton","Array","prototype","forEach","call","href","embedButton","expandButton","panel","$delete","$notification","$navbarBurgers","slice","$target","getElementById","toggle","preloader","main","id","captchaContainer","refreshElement","imageElement","src","random","hiddenElements","parsePasteInfo","pasteInfo","JSON","parse","myParam","URLSearchParams","window","location","search","get","myPastesElem","resolve","rowData","userData","userId","csrfToken","ownedByUser","parseInt","user_id","deleteElem","pasteCreatedAt","Date","created_at","toLocaleString","pasteVisibility","visibility","views","myFavesElem","recentUpdate","recently_updated","pasteFavedAt","favourited_at","readyState"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"user_profile.min.js","sources":["../../../js/dom.js","../../../js/data_tables.js","../../../js/utils.js","../../../js/tag_input.js","../../../js/main.js","../../../js/user_profile.js"],"sourcesContent":["const $ = function(selector) {\n return document.querySelector(selector);\n};\n\nconst $$ = function(selector) {\n return document.querySelectorAll(selector) || [];\n};\n\nconst makeEl = function(html) {\n const template = document.createElement('template');\n\n template.innerHTML = html.trim();\n\n return template.content.firstChild;\n};\n\nconst clearEl = function(el) {\n while (el.firstChild) {\n el.removeChild(el.firstChild);\n }\n};\n\nconst toggleEl = function(el) {\n if (el.classList.contains('is-hidden')) {\n el.classList.remove('is-hidden');\n } else {\n el.classList.add('is-hidden');\n }\n};\n\nconst escape = function(unsafe) {\n return unsafe\n .replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n}\n\nconst whenReady = function(funcp) {\n if (document.readyState !== 'loading') {\n funcp();\n } else {\n document.addEventListener('DOMContentLoaded', funcp);\n }\n}\n\nexport { whenReady, $, $$, makeEl, clearEl, toggleEl, escape };","import { makeEl, clearEl } from \"./dom\";\n\nclass SimplePaginator {\n constructor(element) {\n this.element = element;\n }\n\n attach(pageCallback) {\n this.element.addEventListener('click', evt => {\n if (evt.target && evt.target.classList.contains('paginator__button')) {\n pageCallback(+evt.target.dataset.page);\n }\n });\n }\n\n update(totalRecords, perPage, currentPage) {\n clearEl(this.element);\n\n /* First and last page in existence */\n const firstPage = 0;\n const lastPage = Math.floor(totalRecords / perPage); // ish?\n const numPagesToShow = 2;\n\n if (lastPage === firstPage) {\n return;\n }\n\n /* First and last page the main paginator will show */\n const firstPageShow = (currentPage - numPagesToShow) < firstPage ? firstPage : (currentPage - numPagesToShow);\n const lastPageShow = (currentPage + numPagesToShow) > lastPage ? lastPage : (currentPage + numPagesToShow);\n\n /* Whether to show the first and last pages in existence at the ends of the paginator */\n const showFirstPage = (Math.abs(firstPage - currentPage)) > (numPagesToShow);\n const showLastPage = (Math.abs(lastPage - currentPage)) > (numPagesToShow);\n\n\n const prevButtonDisabled = currentPage === firstPage ? 'disabled' : ''\n\n /* Previous button */\n this.element.appendChild(makeEl(\n ``\n ));\n\n /* First page button */\n if (showFirstPage) {\n this.element.appendChild(makeEl(\n ``\n ));\n this.element.appendChild(makeEl(``));\n }\n\n /* \"window\" buttons */\n for (let i = firstPageShow; i <= lastPageShow; i++) {\n const selected = (i === currentPage ? 'paginator__button--selected' : '');\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n /* Last page button */\n if (showLastPage) {\n this.element.appendChild(makeEl(``));\n this.element.appendChild(makeEl(\n ``\n ));\n }\n\n const nextButtonDisabled = currentPage === lastPage ? 'disabled' : ''\n /* Next button */\n this.element.appendChild(makeEl(\n ``\n ));\n }\n}\n\nclass DataTable {\n constructor(element, options) {\n this.element = element;\n this.container = element.parentElement;\n this.options = options;\n\n this.ajaxCallback = options.ajaxCallback;\n this.data = [];\n this.unfilteredData = [];\n\n this.totalRecords = -1;\n this.perPage = 20;\n this.currentPage = 0;\n\n this.paginator = new SimplePaginator(this.container.querySelector('.paginator'));\n\n this.filterCallback = options.filterCallback;\n this.sortField = null;\n this.sortDir = true;\n }\n\n attach() {\n this.filterField = this.container.querySelector('input.search');\n if (this.filterField && this.filterCallback) {\n this.filterField.addEventListener('keyup', evt => {\n if (evt.target) {\n this._updateFilter(evt.target.value);\n }\n });\n\n if (this.options.preFilter) {\n this.filterField.value = this.options.preFilter;\n }\n }\n\n this.perPageField = this.container.querySelector('select[name=per_page]');\n\n if (this.perPageField) {\n this.perPageField.addEventListener('change', evt => {\n this.perPage = Number(evt.target.value);\n this._updatePage(0);\n });\n }\n\n const header = this.element.querySelector('tr.paginator__sort');\n\n if (header) {\n header.addEventListener('click', evt => {\n const target = evt.target;\n\n if (!target.dataset.sortField) {\n return;\n }\n\n if (this.sortField) {\n const elem = this.element.querySelector(`th[data-sort-field=${this.sortField}]`)\n elem.classList.remove('paginator__sort--down');\n elem.classList.remove('paginator__sort--up');\n }\n\n this._updateSort(target.dataset.sortField, !this.sortDir);\n\n target.classList.add(this.sortDir ? 'paginator__sort--up' : 'paginator__sort--down');\n });\n }\n\n this.paginator.attach(this._updatePage.bind(this));\n this._loadEntries();\n }\n\n /* Load the requested data from the server, and when done, update the DOM. */\n _loadEntries() {\n new Promise(this.ajaxCallback)\n .then(data => {\n this.element.classList.remove('hidden');\n this.unfilteredData = data.data;\n this._updateFilter(this.options.preFilter);\n });\n }\n\n /* Update the DOM to reflect the current state of the data we have loaded */\n _updateEntries(data) {\n this.data = data;\n this.totalRecords = this.data.length;\n\n const bodyElement = this.element.querySelector('tbody');\n clearEl(bodyElement);\n\n const firstIndex = (this.perPage * this.currentPage);\n const lastIndex = (firstIndex + this.perPage) > this.totalRecords ? this.totalRecords : (firstIndex + this.perPage);\n\n\n for (let i = firstIndex; i < lastIndex; i++) {\n const rowElem = makeEl(this.options.rowCallback(this.data[i]));\n rowElem.classList.add(i % 2 === 0 ? 'odd' : 'even');\n\n bodyElement.appendChild(rowElem);\n }\n\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n }\n\n _updatePage(n) {\n this.currentPage = n;\n this.paginator.update(this.totalRecords, this.perPage, this.currentPage);\n this._updateEntries(this.data);\n }\n\n _updateFilter(query) {\n /* clearing the query */\n if (query === null || query === '') {\n this._updateEntries(this.unfilteredData);\n return;\n }\n\n let data = [];\n for (const datum of this.unfilteredData) {\n if (this.filterCallback(datum, query)) {\n data.push(datum);\n }\n }\n\n this._updatePage(0)\n this._updateEntries(data);\n }\n\n _updateSort(field, direction) {\n this.sortField = field;\n this.sortDir = direction;\n\n let newEntries = [...this.data].sort((a, b) => {\n let sorter = 0;\n\n if (a[field] > b[field]) {\n sorter = 1;\n } else if (a[field] < b[field]) {\n sorter = -1;\n }\n\n if (!direction) {\n sorter = -sorter;\n }\n\n return sorter;\n });\n\n this._updatePage(0);\n this._updateEntries(newEntries);\n }\n}\n\nconst dumbFilterCallback = (datum, query) => {\n if (!query) {\n return true;\n }\n\n if (datum.title.indexOf(query) !== -1) {\n return true;\n }\n\n /* this is inefficient */\n for (const tag of datum.tags) {\n if (tag.name.toLowerCase() === query.toLowerCase()) {\n return true;\n }\n }\n\n return false;\n};\n\nexport { DataTable, dumbFilterCallback };\n","import { escape } from \"./dom\";\n\nconst tagsToHtml = (tags) => {\n return tags.map(tagData => {\n let tagColorClass;\n const tagLower = tagData.name.toLowerCase();\n if (tagLower === 'nsfw' || tagLower === 'explicit') {\n tagColorClass = 'is-danger';\n } else if (tagLower === 'safe') {\n tagColorClass = 'is-success';\n } else if (tagLower.charAt(0) === '/' && tagLower.charAt(tagLower.length - 1) === '/') {\n tagColorClass = 'is-primary';\n } else {\n tagColorClass = 'is-info';\n }\n\n return `\n ${escape(tagData.name)}\n `;\n }).join('');\n};\n\nexport { tagsToHtml };\n","import { makeEl, escape } from \"./dom\";\n\nclass TagsInput {\n constructor(element, options = {}) {\n this.element = element;\n this.tags = [];\n this.options = options\n\n this.maxTags = options.maxTags || 32;\n this.inputNode = null;\n this.containerNode = null;\n }\n\n attach() {\n this.element.style.display = 'none';\n\n this.containerNode = makeEl('
    ');\n this.inputNode = makeEl('');\n this.containerNode.appendChild(this.inputNode);\n\n this.element.parentNode.insertBefore(this.containerNode, this.element.nextSibling);\n\n /* Load existing tags from input */\n if (this.element.value) {\n for (const tag of this.element.value.split(',')) {\n this.addTag(tag);\n }\n }\n\n /* Handle addition and removal of tags via key-presses */\n this.containerNode.addEventListener('keydown', this._handleInputKeyUp.bind(this));\n\n /* Handle deletions by clicking the delete button */\n this.containerNode.addEventListener('click', this._handleContainerClick.bind(this));\n }\n\n detach() {\n this.tags.clear();\n this.containerNode.remove();\n this.element.style.display = 'inline-block';\n }\n\n updateHiddenInputValue() {\n this.element.value = this.tags.join(',');\n }\n\n deleteTagNode(node) {\n this.tags.splice(this.tags.indexOf(node.dataset.value.toLowerCase()), 1);\n node.remove();\n\n /* Below the limit? Make sure the input is enabled. */\n if (this.tags.length < this.maxTags) {\n this.inputNode.disabled = false;\n }\n }\n\n addTag(tagValue) {\n tagValue = tagValue.trim();\n\n /* Tag value is probably not empty and we don't already have the same tag. */\n if (tagValue !== '' && this.tags.indexOf(tagValue.toLowerCase()) === -1) {\n this.tags.push(tagValue.toLowerCase());\n\n this.inputNode.parentNode.insertBefore(\n makeEl('' + escape(tagValue) + ''),\n this.inputNode\n );\n\n /* Too many tags, disable the input for now. */\n if (this.tags.length >= this.maxTags) {\n this.inputNode.disabled = true;\n }\n }\n }\n\n _handleInputKeyUp(evt) {\n let tagValue = this.inputNode.value;\n\n if (evt.key === 'Backspace' && tagValue === '') {\n // Remove the child\n if (this.inputNode.previousSibling) {\n this.deleteTagNode(this.inputNode.previousSibling);\n\n this.updateHiddenInputValue();\n }\n } else if (evt.key === ',') {\n this.addTag(tagValue);\n\n this.inputNode.value = ''\n this.updateHiddenInputValue();\n\n evt.preventDefault();\n }\n }\n\n _handleContainerClick(evt) {\n if (evt.target && evt.target.classList.contains('delete')) {\n this.deleteTagNode(evt.target.closest('.tag'));\n this.updateHiddenInputValue();\n }\n }\n}\n\nexport { TagsInput };\n","import { $, $$, toggleEl } from './dom';\nimport { TagsInput } from \"./tag_input\";\n\nconst setupSignupModal = () => {\n const signupButton = $('[data-target~=\"#signin\"],[data-target~=\"#signup\"]');\n\n if (signupButton) {\n signupButton.href = 'javascript:void(0)';\n\n signupButton.addEventListener('click', () => {\n $('.modal').classList.add('is-active');\n });\n\n $('.modal-button-close').addEventListener('click', () => {\n $('.modal').classList.remove('is-active');\n });\n }\n}\n\nconst globalSetup = () => {\n Array.prototype.forEach.call($$('.js-tag-input'), (el) => {\n new TagsInput(el).attach();\n });\n\n setupSignupModal();\n\n const embedButton = $('.panel-tools .embed-tool');\n\n if (embedButton){\n embedButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel-tools')) {\n toggleEl(evt.target.closest('.panel-tools').querySelector('.panel-embed'));\n }\n });\n }\n\n const expandButton = $('.expand-tool');\n\n if (expandButton) {\n expandButton.addEventListener('click', (evt) => {\n if (evt.target && evt.target.closest('.panel')) {\n const panel = evt.target.closest('.panel');\n\n if (panel.classList.contains('panel-fullsize')) {\n panel.classList.remove('panel-fullsize');\n } else {\n panel.classList.add('panel-fullsize');\n }\n }\n });\n }\n\n // Notifications\n (document.querySelectorAll('.notification .delete') || []).forEach(($delete) => {\n const $notification = $delete.parentNode;\n\n $delete.addEventListener('click', () => {\n $notification.parentNode.removeChild($notification);\n });\n });\n\n // Hamburger menu\n const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);\n if ($navbarBurgers.length > 0) {\n $navbarBurgers.forEach(el => {\n el.addEventListener('click', () => {\n const target = el.dataset.target;\n const $target = document.getElementById(target);\n el.classList.toggle('is-active');\n $target.classList.toggle('is-active');\n });\n });\n }\n\n const preloader = $('.preloader');\n const main = $('main');\n\n if (preloader && main) {\n preloader.remove();\n main.id = '';\n }\n\n // CAPTCHA refresh\n const captchaContainer = $('.captcha_container');\n\n if (captchaContainer) {\n const refreshElement = captchaContainer.querySelector('a');\n const imageElement = captchaContainer.querySelector('img');\n\n if (refreshElement && imageElement) {\n refreshElement.addEventListener('click', () => {\n let src = imageElement.src;\n\n if (src.indexOf('&refresh') !== -1) {\n // yeah, it's kinda cancerous. fuck off.\n src = src.split('&rand=')[0];\n } else {\n src += '&refresh';\n }\n\n imageElement.src = src + '&rand=' + Math.random();\n });\n }\n }\n\n const hiddenElements = $$('.js-hidden');\n\n if (hiddenElements) {\n Array.prototype.forEach.call(hiddenElements, (elem) => {\n toggleEl(elem);\n });\n }\n}\n\nexport { globalSetup };","import { escape, whenReady } from './dom';\nimport { DataTable, dumbFilterCallback } from './data_tables';\nimport { tagsToHtml } from \"./utils\";\nimport { globalSetup } from './main';\n\nconst getUserInfo = () => {\n const elem = document.getElementById('js-data-holder');\n\n if (!elem) {\n return { userId: null, csrfToken: null };\n }\n\n return { userId: elem.dataset.userId, csrfToken: elem.dataset.csrfToken };\n};\n\nconst parsePasteInfo = (elem) => {\n if (!elem.dataset.pasteInfo) {\n return null;\n }\n\n return JSON.parse(elem.dataset.pasteInfo);\n};\n\nwhenReady(() => {\n globalSetup();\n\n const urlParams = new URLSearchParams(window.location.search);\n const myParam = urlParams.get('q');\n const myPastesElem = document.getElementById('archive');\n const table = new DataTable(myPastesElem, {\n ajaxCallback: (resolve) => {\n resolve({\n data: Array.prototype.map.call(myPastesElem.querySelectorAll('tbody > tr'), parsePasteInfo)\n });\n },\n rowCallback: (rowData) => {\n const userData = getUserInfo();\n const ownedByUser = (parseInt(rowData.user_id) === parseInt(userData.userId));\n\n const deleteElem = ownedByUser ? `\n
    \n \n \n \n
    \n ` : '';\n const pasteCreatedAt = new Date(rowData.created_at).toLocaleString();\n const pasteVisibility = ownedByUser ? `${rowData.visibility}` : '';\n\n return `\n ${escape(rowData.title)}\n ${pasteCreatedAt}\n ${pasteVisibility}\n ${rowData.views || 0}\n ${tagsToHtml(rowData.tags)}\n ${deleteElem}\n `;\n },\n filterCallback: dumbFilterCallback,\n preFilter: myParam\n });\n table.attach();\n\n const myFavesElem = document.getElementById('favs');\n\n if (!myFavesElem) {\n return;\n }\n\n const faveTable = new DataTable(myFavesElem, {\n ajaxCallback: (resolve) => {\n resolve({\n data: Array.prototype.map.call(myFavesElem.querySelectorAll('tbody > tr'), parsePasteInfo)\n });\n },\n rowCallback: (rowData) => {\n const recentUpdate = rowData.recently_updated ?\n `` :\n ``;\n const pasteFavedAt = new Date(rowData.favourited_at).toLocaleString();\n\n // ${escape(rowData.author)}\n return `\n ${escape(rowData.title)}\n ${pasteFavedAt}\n ${recentUpdate}\n ${tagsToHtml(rowData.tags)}\n `;\n },\n filterCallback: dumbFilterCallback\n });\n faveTable.attach();\n});"],"names":["funcp","$","selector","document","querySelector","$$","querySelectorAll","makeEl","html","template","createElement","innerHTML","trim","content","firstChild","clearEl","el","removeChild","toggleEl","classList","contains","remove","add","escape","unsafe","replace","SimplePaginator","element","_classCallCheck","this","_createClass","key","value","pageCallback","addEventListener","evt","target","dataset","page","totalRecords","perPage","currentPage","lastPage","Math","floor","firstPageShow","lastPageShow","showFirstPage","abs","showLastPage","prevButtonDisabled","appendChild","concat","i","selected","nextButtonDisabled","DataTable","options","container","parentElement","ajaxCallback","data","unfilteredData","paginator","filterCallback","sortField","sortDir","_this","filterField","_updateFilter","preFilter","perPageField","Number","_updatePage","header","elem","_updateSort","attach","bind","_loadEntries","_this2","Promise","then","length","bodyElement","firstIndex","lastIndex","rowElem","rowCallback","update","n","_updateEntries","query","_step","_iterator","_createForOfIteratorHelper","s","done","datum","push","err","e","f","field","direction","newEntries","_toConsumableArray","sort","a","b","sorter","dumbFilterCallback","title","indexOf","_step2","_iterator2","tags","name","toLowerCase","tagsToHtml","map","tagData","tagColorClass","tagLower","charAt","slug","join","TagsInput","arguments","undefined","maxTags","inputNode","containerNode","style","display","parentNode","insertBefore","nextSibling","_step3","_iterator3","split","tag","addTag","_handleInputKeyUp","_handleContainerClick","clear","node","splice","disabled","tagValue","previousSibling","deleteTagNode","updateHiddenInputValue","preventDefault","closest","globalSetup","signupButton","Array","prototype","forEach","call","href","embedButton","expandButton","panel","$delete","$notification","$navbarBurgers","slice","$target","getElementById","toggle","preloader","main","id","captchaContainer","refreshElement","imageElement","src","random","hiddenElements","parsePasteInfo","pasteInfo","JSON","parse","myParam","URLSearchParams","window","location","search","get","myPastesElem","resolve","rowData","userData","userId","csrfToken","ownedByUser","parseInt","user_id","deleteElem","pasteCreatedAt","Date","created_at","toLocaleString","pasteVisibility","visibility","views","myFavesElem","recentUpdate","recently_updated","pasteFavedAt","favourited_at","readyState"],"mappings":"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"} \ No newline at end of file diff --git a/rollup.config.js b/rollup.config.js index 314aa60..5a65c26 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,5 +1,6 @@ // noinspection JSUnusedGlobalSymbols,JSCheckFunctionSignatures +import { nodeResolve } from '@rollup/plugin-node-resolve'; import {getBabelOutputPlugin} from '@rollup/plugin-babel'; import {terser} from 'rollup-plugin-terser'; @@ -17,7 +18,8 @@ const output = (name) => { plugins: [getBabelOutputPlugin({ presets: ['@babel/preset-env'] }), terser()], sourcemap: true } - ] + ], + plugins: [nodeResolve()] } }; diff --git a/theme/bulma/view.php b/theme/bulma/view.php index 582929e..9c03163 100644 --- a/theme/bulma/view.php +++ b/theme/bulma/view.php @@ -269,6 +269,7 @@ $selectedloader = "$bg[$i]"; // set variable equal to which random filename was
    + Type a comma to separate each tag.
    diff --git a/yarn.lock b/yarn.lock index 71244b2..06862a9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,396 +2,419 @@ # yarn lockfile v1 -"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== +"@ampproject/remapping@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: - "@babel/highlight" "^7.14.5" + "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/trace-mapping" "^0.3.9" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" - integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== +"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" + integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" + integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== "@babel/core@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.0.tgz#749e57c68778b73ad8082775561f67f5196aafa8" - integrity sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" + integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.0" - "@babel/helper-module-transforms" "^7.15.0" - "@babel/helpers" "^7.14.8" - "@babel/parser" "^7.15.0" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.0" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.21.0" + "@babel/helpers" "^7.21.0" + "@babel/parser" "^7.21.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.1.2" + json5 "^2.2.2" semver "^6.3.0" - source-map "^0.5.0" -"@babel/generator@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.0.tgz#a7d0c172e0d814974bad5aa77ace543b97917f15" - integrity sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ== +"@babel/generator@^7.21.0", "@babel/generator@^7.21.1": + version "7.21.1" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" + integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== dependencies: - "@babel/types" "^7.15.0" + "@babel/types" "^7.21.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" - source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" - integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== +"@babel/helper-annotate-as-pure@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" + integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.18.6" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191" - integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" + integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-explode-assignable-expression" "^7.18.6" + "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz#973df8cbd025515f3ff25db0c05efc704fa79818" - integrity sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" + "@babel/compat-data" "^7.20.5" + "@babel/helper-validator-option" "^7.18.6" + browserslist "^4.21.3" + lru-cache "^5.1.1" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.14.5": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz#c9a137a4d137b2d0e2c649acf536d7ba1a76c0f7" - integrity sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" + integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-member-expression-to-functions" "^7.15.0" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/helper-replace-supers" "^7.15.0" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-member-expression-to-functions" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" - integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz#53ff78472e5ce10a52664272a239787107603ebb" + integrity sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - regexpu-core "^4.7.1" + "@babel/helper-annotate-as-pure" "^7.18.6" + regexpu-core "^5.3.1" -"@babel/helper-define-polyfill-provider@^0.2.2": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" - integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== +"@babel/helper-define-polyfill-provider@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" + integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== 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" semver "^6.1.2" -"@babel/helper-explode-assignable-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" - integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== +"@babel/helper-environment-visitor@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" + integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== + +"@babel/helper-explode-assignable-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" + integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.18.6" -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== +"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" + integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/template" "^7.20.7" + "@babel/types" "^7.21.0" -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== +"@babel/helper-hoist-variables@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.18.6" -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== +"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" + integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.21.0" -"@babel/helper-member-expression-to-functions@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz#0ddaf5299c8179f27f37327936553e9bba60990b" - integrity sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg== +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" + integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: - "@babel/types" "^7.15.0" + "@babel/types" "^7.18.6" -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" - integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" + integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== dependencies: - "@babel/types" "^7.14.5" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/helper-validator-identifier" "^7.19.1" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.2" + "@babel/types" "^7.21.2" -"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz#679275581ea056373eddbe360e1419ef23783b08" - integrity sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg== +"@babel/helper-optimise-call-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" + integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-replace-supers" "^7.15.0" - "@babel/helper-simple-access" "^7.14.8" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.9" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/types" "^7.18.6" -"@babel/helper-optimise-call-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" - integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + +"@babel/helper-remap-async-to-generator@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" + integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== dependencies: - "@babel/types" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-wrap-function" "^7.18.9" + "@babel/types" "^7.18.9" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" - integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== - -"@babel/helper-remap-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" - integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-wrap-function" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/helper-replace-supers@^7.14.5", "@babel/helper-replace-supers@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz#ace07708f5bf746bf2e6ba99572cce79b5d4e7f4" - integrity sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA== +"@babel/helper-simple-access@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" + integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: - "@babel/helper-member-expression-to-functions" "^7.15.0" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/types" "^7.20.2" -"@babel/helper-simple-access@^7.14.8": - version "7.14.8" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" - integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" + integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== dependencies: - "@babel/types" "^7.14.8" + "@babel/types" "^7.20.0" -"@babel/helper-skip-transparent-expression-wrappers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" - integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== +"@babel/helper-split-export-declaration@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" + integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.18.6" -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== +"@babel/helper-string-parser@^7.19.4": + version "7.19.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" + integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== + +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/helper-validator-option@^7.18.6": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" + integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== + +"@babel/helper-wrap-function@^7.18.9": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: - "@babel/types" "^7.14.5" + "@babel/helper-function-name" "^7.19.0" + "@babel/template" "^7.18.10" + "@babel/traverse" "^7.20.5" + "@babel/types" "^7.20.5" -"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" - integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== - -"@babel/helper-validator-option@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" - integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== - -"@babel/helper-wrap-function@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" - integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== +"@babel/helpers@^7.21.0": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" + integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== dependencies: - "@babel/helper-function-name" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.21.0" + "@babel/types" "^7.21.0" -"@babel/helpers@^7.14.8": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.3.tgz#c96838b752b95dcd525b4e741ed40bb1dc2a1357" - integrity sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g== +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.15.0" - "@babel/types" "^7.15.0" - -"@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.18.6" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.14.5", "@babel/parser@^7.15.0": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.3.tgz#3416d9bea748052cfcb63dbcc27368105b1ed862" - integrity sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA== +"@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" + integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" - integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" + integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-async-generator-functions@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.9.tgz#7028dc4fa21dc199bbacf98b39bab1267d0eaf9a" - integrity sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" + +"@babel/plugin-proposal-async-generator-functions@^7.20.1": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== + dependencies: + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" - integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== +"@babel/plugin-proposal-class-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681" - integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== +"@babel/plugin-proposal-class-static-block@^7.18.6": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" + integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" - integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== +"@babel/plugin-proposal-dynamic-import@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" + integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" - integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" - integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== +"@babel/plugin-proposal-json-strings@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" + integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" - integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== +"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" - integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" + integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" - integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== +"@babel/plugin-proposal-numeric-separator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" + integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz#5920a2b3df7f7901df0205974c0641b13fd9d363" - integrity sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== +"@babel/plugin-proposal-object-rest-spread@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: - "@babel/compat-data" "^7.14.7" - "@babel/helper-compilation-targets" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.20.7" -"@babel/plugin-proposal-optional-catch-binding@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" - integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== +"@babel/plugin-proposal-optional-catch-binding@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" + integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" - integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" + integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" - integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== +"@babel/plugin-proposal-private-methods@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" + integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636" - integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== +"@babel/plugin-proposal-private-property-in-object@^7.18.6": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" + integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-create-class-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.21.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" - integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== +"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -428,6 +451,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-syntax-import-assertions@^7.20.0": + version "7.20.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" + integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== + dependencies: + "@babel/helper-plugin-utils" "^7.19.0" + "@babel/plugin-syntax-json-strings@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" @@ -491,284 +521,289 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" - integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== +"@babel/plugin-transform-arrow-functions@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" - integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== +"@babel/plugin-transform-async-to-generator@^7.18.6": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-module-imports" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" -"@babel/plugin-transform-block-scoped-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" - integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== +"@babel/plugin-transform-block-scoped-functions@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" + integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-block-scoping@^7.14.5": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" - integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== +"@babel/plugin-transform-block-scoping@^7.20.2": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" + integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-classes@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.9.tgz#2a391ffb1e5292710b00f2e2c210e1435e7d449f" - integrity sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A== +"@babel/plugin-transform-classes@^7.20.2": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" + integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.18.6" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-optimise-call-expression" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-replace-supers" "^7.20.7" + "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" - integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== +"@babel/plugin-transform-computed-properties@^7.18.9": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" -"@babel/plugin-transform-destructuring@^7.14.7": - version "7.14.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" - integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== +"@babel/plugin-transform-destructuring@^7.20.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" - integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== +"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" + integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-duplicate-keys@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" - integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== +"@babel/plugin-transform-duplicate-keys@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" + integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-exponentiation-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" - integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== +"@babel/plugin-transform-exponentiation-operator@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" + integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-for-of@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" - integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== +"@babel/plugin-transform-for-of@^7.18.8": + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" + integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" - integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== +"@babel/plugin-transform-function-name@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" + integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== dependencies: - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@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@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" - integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== +"@babel/plugin-transform-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" + integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-member-expression-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" - integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== +"@babel/plugin-transform-member-expression-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" + integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-modules-amd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" - integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== +"@babel/plugin-transform-modules-amd@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-modules-commonjs@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz#3305896e5835f953b5cdb363acd9e8c2219a5281" - integrity sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig== +"@babel/plugin-transform-modules-commonjs@^7.19.6": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" + integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== dependencies: - "@babel/helper-module-transforms" "^7.15.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.14.8" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-module-transforms" "^7.21.2" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" -"@babel/plugin-transform-modules-systemjs@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" - integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== +"@babel/plugin-transform-modules-systemjs@^7.19.6": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.5" - babel-plugin-dynamic-import-node "^2.3.3" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-validator-identifier" "^7.19.1" -"@babel/plugin-transform-modules-umd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" - integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== +"@babel/plugin-transform-modules-umd@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" + integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== dependencies: - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-transforms" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": - version "7.14.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz#c68f5c5d12d2ebaba3762e57c2c4f6347a46e7b2" - integrity sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-new-target@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" - integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== +"@babel/plugin-transform-new-target@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" + integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-object-super@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" - integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== +"@babel/plugin-transform-object-super@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" + integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" - integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" -"@babel/plugin-transform-property-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" - integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== +"@babel/plugin-transform-property-literals@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" + integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-regenerator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" - integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== +"@babel/plugin-transform-regenerator@^7.18.6": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== dependencies: - regenerator-transform "^0.14.2" + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" -"@babel/plugin-transform-reserved-words@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" - integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== +"@babel/plugin-transform-reserved-words@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" + integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-shorthand-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" - integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== +"@babel/plugin-transform-shorthand-properties@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" + integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-spread@^7.14.6": - version "7.14.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" - integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== +"@babel/plugin-transform-spread@^7.19.0": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" -"@babel/plugin-transform-sticky-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" - integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== +"@babel/plugin-transform-sticky-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" + integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-template-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" - integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== +"@babel/plugin-transform-template-literals@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" + integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-typeof-symbol@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" - integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== +"@babel/plugin-transform-typeof-symbol@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" + integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-unicode-escapes@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" - integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== +"@babel/plugin-transform-unicode-escapes@^7.18.10": + version "7.18.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" + integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.18.9" -"@babel/plugin-transform-unicode-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" - integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== +"@babel/plugin-transform-unicode-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" + integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" "@babel/preset-env@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.0.tgz#e2165bf16594c9c05e52517a194bf6187d6fe464" - integrity sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q== + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" + integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-async-generator-functions" "^7.14.9" - "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-class-static-block" "^7.14.5" - "@babel/plugin-proposal-dynamic-import" "^7.14.5" - "@babel/plugin-proposal-export-namespace-from" "^7.14.5" - "@babel/plugin-proposal-json-strings" "^7.14.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" - "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-object-rest-spread" "^7.14.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.14.5" - "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/compat-data" "^7.20.1" + "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-plugin-utils" "^7.20.2" + "@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.9" + "@babel/plugin-proposal-async-generator-functions" "^7.20.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.9" + "@babel/plugin-proposal-json-strings" "^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.20.2" + "@babel/plugin-proposal-optional-catch-binding" "^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" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.20.0" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -778,50 +813,50 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.14.5" - "@babel/plugin-transform-async-to-generator" "^7.14.5" - "@babel/plugin-transform-block-scoped-functions" "^7.14.5" - "@babel/plugin-transform-block-scoping" "^7.14.5" - "@babel/plugin-transform-classes" "^7.14.9" - "@babel/plugin-transform-computed-properties" "^7.14.5" - "@babel/plugin-transform-destructuring" "^7.14.7" - "@babel/plugin-transform-dotall-regex" "^7.14.5" - "@babel/plugin-transform-duplicate-keys" "^7.14.5" - "@babel/plugin-transform-exponentiation-operator" "^7.14.5" - "@babel/plugin-transform-for-of" "^7.14.5" - "@babel/plugin-transform-function-name" "^7.14.5" - "@babel/plugin-transform-literals" "^7.14.5" - "@babel/plugin-transform-member-expression-literals" "^7.14.5" - "@babel/plugin-transform-modules-amd" "^7.14.5" - "@babel/plugin-transform-modules-commonjs" "^7.15.0" - "@babel/plugin-transform-modules-systemjs" "^7.14.5" - "@babel/plugin-transform-modules-umd" "^7.14.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" - "@babel/plugin-transform-new-target" "^7.14.5" - "@babel/plugin-transform-object-super" "^7.14.5" - "@babel/plugin-transform-parameters" "^7.14.5" - "@babel/plugin-transform-property-literals" "^7.14.5" - "@babel/plugin-transform-regenerator" "^7.14.5" - "@babel/plugin-transform-reserved-words" "^7.14.5" - "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.14.6" - "@babel/plugin-transform-sticky-regex" "^7.14.5" - "@babel/plugin-transform-template-literals" "^7.14.5" - "@babel/plugin-transform-typeof-symbol" "^7.14.5" - "@babel/plugin-transform-unicode-escapes" "^7.14.5" - "@babel/plugin-transform-unicode-regex" "^7.14.5" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.15.0" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" - babel-plugin-polyfill-regenerator "^0.2.2" - core-js-compat "^3.16.0" + "@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.20.2" + "@babel/plugin-transform-classes" "^7.20.2" + "@babel/plugin-transform-computed-properties" "^7.18.9" + "@babel/plugin-transform-destructuring" "^7.20.2" + "@babel/plugin-transform-dotall-regex" "^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.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.19.6" + "@babel/plugin-transform-modules-commonjs" "^7.19.6" + "@babel/plugin-transform-modules-systemjs" "^7.19.6" + "@babel/plugin-transform-modules-umd" "^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.20.1" + "@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.19.0" + "@babel/plugin-transform-sticky-regex" "^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.20.2" + 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@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" @@ -829,53 +864,132 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + "@babel/runtime@^7.8.4": - version "7.15.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" - integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== + version "7.21.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" + integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== dependencies: - regenerator-runtime "^0.13.4" + regenerator-runtime "^0.13.11" -"@babel/template@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== +"@babel/template@^7.18.10", "@babel/template@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/code-frame" "^7.18.6" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.15.0": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.0.tgz#4cca838fd1b2a03283c1f38e141f639d60b3fc98" - integrity sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw== +"@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" + integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.15.0" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.15.0" - "@babel/types" "^7.15.0" + "@babel/code-frame" "^7.18.6" + "@babel/generator" "^7.21.1" + "@babel/helper-environment-visitor" "^7.18.9" + "@babel/helper-function-name" "^7.21.0" + "@babel/helper-hoist-variables" "^7.18.6" + "@babel/helper-split-export-declaration" "^7.18.6" + "@babel/parser" "^7.21.2" + "@babel/types" "^7.21.2" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.15.0", "@babel/types@^7.4.4": - version "7.15.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" - integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== +"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.4.4": + version "7.21.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" + integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== dependencies: - "@babel/helper-validator-identifier" "^7.14.9" + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@jridgewell/gen-mapping@^0.1.0": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== + dependencies: + "@jridgewell/set-array" "^1.0.0" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" + integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" + integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + "@rollup/plugin-babel@^5.3.0": - version "5.3.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" - integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + version "5.3.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" + integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== dependencies: "@babel/helper-module-imports" "^7.10.4" "@rollup/pluginutils" "^3.1.0" +"@rollup/plugin-commonjs@^24.0.1": + version "24.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz#d54ba26a3e3c495dc332bd27a81f7e9e2df46f90" + integrity sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow== + dependencies: + "@rollup/pluginutils" "^5.0.1" + commondir "^1.0.1" + estree-walker "^2.0.2" + glob "^8.0.3" + is-reference "1.2.1" + magic-string "^0.27.0" + +"@rollup/plugin-node-resolve@^15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz#72be449b8e06f6367168d5b3cd5e2802e0248971" + integrity sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg== + dependencies: + "@rollup/pluginutils" "^5.0.1" + "@types/resolve" "1.20.2" + deepmerge "^4.2.2" + is-builtin-module "^3.2.0" + is-module "^1.0.0" + resolve "^1.22.1" + "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" @@ -885,15 +999,39 @@ estree-walker "^1.0.1" picomatch "^2.2.2" +"@rollup/pluginutils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33" + integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/node@*": - version "16.7.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.7.1.tgz#c6b9198178da504dfca1fd0be9b2e1002f1586f0" - integrity sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A== + version "18.14.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.14.1.tgz#90dad8476f1e42797c49d6f8b69aaf9f876fc69f" + integrity sha512-QH+37Qds3E0eDlReeboBxfHbX9omAcBCXEzswCu6jySP642jiM3cYSIkU/REqwhCUqXdonHFuBfJDiAJxMNhaQ== + +"@types/resolve@1.20.2": + version "1.20.2" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== + +acorn@^8.5.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" + integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== ansi-styles@^3.2.1: version "3.2.1" @@ -902,65 +1040,66 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== +babel-plugin-polyfill-corejs2@^0.3.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" + integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== dependencies: - object.assign "^4.1.0" - -babel-plugin-polyfill-corejs2@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" - integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.3.3" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9" - integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ== +babel-plugin-polyfill-corejs3@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" + integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.14.0" + "@babel/helper-define-polyfill-provider" "^0.3.3" + core-js-compat "^3.25.1" -babel-plugin-polyfill-regenerator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" - integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== +babel-plugin-polyfill-regenerator@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" + integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/helper-define-polyfill-provider" "^0.3.3" -browserslist@^4.16.6, browserslist@^4.16.7: - version "4.16.8" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.8.tgz#cb868b0b554f137ba6e33de0ecff2eda403c4fb0" - integrity sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ== +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: - caniuse-lite "^1.0.30001251" - colorette "^1.3.0" - electron-to-chromium "^1.3.811" - escalade "^3.1.1" - node-releases "^1.1.75" + balanced-match "^1.0.0" + +browserslist@^4.21.3, browserslist@^4.21.5: + version "4.21.5" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" + integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== + dependencies: + caniuse-lite "^1.0.30001449" + electron-to-chromium "^1.4.284" + node-releases "^2.0.8" + update-browserslist-db "^1.0.10" buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -caniuse-lite@^1.0.30001251: - version "1.0.30001251" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz#6853a606ec50893115db660f82c094d18f096d85" - integrity sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A== +caniuse-lite@^1.0.30001449: + version "1.0.30001457" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz#6af34bb5d720074e2099432aa522c21555a18301" + integrity sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA== chalk@^2.0.0: version "2.4.2" @@ -981,51 +1120,46 @@ color-convert@^1.9.0: color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -colorette@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.3.0.tgz#ff45d2f0edb244069d3b772adeb04fed38d0a0af" - integrity sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w== + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== -core-js-compat@^3.14.0, core-js-compat@^3.16.0: - version "3.16.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.16.2.tgz#442ef1d933ca6fc80859bd5a1db7a3ba716aaf56" - integrity sha512-4lUshXtBXsdmp8cDWh6KKiHUg40AjiuPD3bOWkNVsr1xkAhpUqCjaZ8lB1bKx9Gb5fXcbRbFJ4f4qpRIRTuJqQ== +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +core-js-compat@^3.25.1: + version "3.28.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.28.0.tgz#c08456d854608a7264530a2afa281fadf20ecee6" + integrity sha512-myzPgE7QodMg4nnd3K1TDoES/nADRStM8Gpz0D6nhkwbmwEnE0ZGJgoWsvQ722FR8D7xS0n0LV556RcEicjTyg== dependencies: - browserslist "^4.16.7" - semver "7.0.0" + browserslist "^4.21.5" debug@^4.1.0, debug@^4.1.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" +deepmerge@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.0.tgz#65491893ec47756d44719ae520e0e2609233b59b" + integrity sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og== -electron-to-chromium@^1.3.811: - version "1.3.814" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.814.tgz#418fad80c3276a46103ca72a21a8290620d83c4a" - integrity sha512-0mH03cyjh6OzMlmjauGg0TLd87ErIJqWiYxMcOLKf5w6p0YEOl7DJAj7BDlXEFmCguY5CQaKVOiMjAMODO2XDw== +electron-to-chromium@^1.4.284: + version "1.4.311" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.311.tgz#953bc9a4767f5ce8ec125f9a1ad8e00e8f67e479" + integrity sha512-RoDlZufvrtr2Nx3Yx5MB8jX3aHIxm8nRWPJm3yVvyHmyKaRvn90RjzB6hNnt0AkhS3IInJdyRfQb4mWhPvUjVw== escalade@^3.1.1: version "3.1.1" @@ -1035,18 +1169,28 @@ escalade@^3.1.1: escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== estree-walker@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" @@ -1062,14 +1206,16 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" globals@^11.1.0: version "11.12.0" @@ -1079,18 +1225,13 @@ globals@^11.1.0: has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -1098,13 +1239,45 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -is-core-module@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" - integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-builtin-module@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-core-module@^2.9.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" + integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== dependencies: has "^1.0.3" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + +is-reference@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + jest-worker@^26.2.1: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" @@ -1127,64 +1300,75 @@ jsesc@^2.5.1: jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" +json5@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -node-releases@^1.1.75: - version "1.1.75" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" - integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== +node-releases@^2.0.8: + version "2.0.10" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" + integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" + wrappy "1" -path-parse@^1.0.6: +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -picomatch@^2.2.2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" - integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.2.2, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== randombytes@^2.1.0: version "2.1.0" @@ -1193,61 +1377,57 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== dependencies: - regenerate "^1.4.0" + regenerate "^1.4.2" -regenerate@^1.4.0: +regenerate@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.4: - version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== +regexpu-core@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.1.tgz#66900860f88def39a5cb79ebd9490e84f17bcdfb" + integrity sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ== dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.9" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" - integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== dependencies: jsesc "~0.5.0" -resolve@^1.14.2: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== +resolve@^1.14.2, resolve@^1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" + integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" + is-core-module "^2.9.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" rollup-plugin-terser@^7.0.2: version "7.0.2" @@ -1260,9 +1440,9 @@ rollup-plugin-terser@^7.0.2: terser "^5.0.0" rollup@^2.56.3: - version "2.56.3" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.56.3.tgz#b63edadd9851b0d618a6d0e6af8201955a77aeff" - integrity sha512-Au92NuznFklgQCUcV96iXlxUbHuB1vQMaH76DHl5M11TotjOHwqk9CwcrT78+Tnv4FN9uTBxq6p4EJoYkpyekg== + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== optionalDependencies: fsevents "~2.3.2" @@ -1271,16 +1451,6 @@ safe-buffer@^5.1.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" @@ -1293,29 +1463,19 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -1330,39 +1490,68 @@ supports-color@^7.0.0: dependencies: has-flag "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + terser@^5.0.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.2.tgz#d4d95ed4f8bf735cb933e802f2a1829abf545e3f" - integrity sha512-0Omye+RD4X7X69O0eql3lC4Heh/5iLj3ggxR/B5ketZLOtLiOqukUgjw3q4PDnNQbsrkKr3UMypqStQG3XKRvw== + version "5.16.5" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.5.tgz#1c285ca0655f467f92af1bbab46ab72d1cb08e5a" + integrity sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg== dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +update-browserslist-db@^1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" + integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +zxcvbn@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/zxcvbn/-/zxcvbn-4.4.2.tgz#28ec17cf09743edcab056ddd8b1b06262cc73c30" + integrity sha512-Bq0B+ixT/DMyG8kgX2xWcI5jUvCwqrMxSFam7m0lAf78nf04hv6lNCsyLYdyYTrCVMqNDY/206K7eExYCeSyUQ==