diff --git a/apple-touch-icon.png b/apple-touch-icon.png
deleted file mode 100644
index c389bc0..0000000
Binary files a/apple-touch-icon.png and /dev/null differ
diff --git a/assets/css/panel.css b/assets/css/panel.css
index 3b53cbb..658eb3d 100644
--- a/assets/css/panel.css
+++ b/assets/css/panel.css
@@ -8,18 +8,3 @@
.k-panel-menu-button[aria-current] * {
color: #000;
}
-
-.k-panel[data-template="year"] .k-list-items .k-item:first-child {
- margin-bottom: 2rem;
-}
-.k-panel[data-template="year"] .k-list-items::before {
- content: "Texte princeps";
- display: block;
- padding: 0.5rem;
- padding-bottom: 0.7rem;
- border-radius: var(--rounded-md) var(--rounded-md) 0 0;
- transform: translateY(0.3rem);
-
- background-color: #000;
- color: #fff;
-}
diff --git a/assets/css/src/article.css b/assets/css/src/article.css
index 191b259..7398007 100644
--- a/assets/css/src/article.css
+++ b/assets/css/src/article.css
@@ -1,39 +1,8 @@
article #main-content {
+ max-width: calc(18 * var(--unit--horizontal));
scroll-margin-block-start: calc(var(--unit--vertical) * 6);
+ margin-top: calc(var(--unit--vertical) * 2);
padding-bottom: calc(var(--unit--vertical) * 2);
- margin-top: calc(2 * var(--unit--vertical));
-}
-
-#main-content .texts {
- margin-top: calc(2 * var(--unit--vertical));
-}
-
-#main-content .see-more {
- margin-top: calc(var(--unit--vertical) * 0.5);
-}
-
-[data-template="year"] article > h1 {
- margin-bottom: 0;
-}
-
-article #main-content #chapo::after {
- content: "";
- display: block;
- margin-top: calc(2 * var(--unit--vertical));
- margin-bottom: calc(4 * var(--unit--vertical));
-
- width: 100%;
- height: 1px;
- background-color: #fff;
-}
-
-article #main-content li:not(.text) {
- list-style-type: inherit;
-}
-
-article h3 {
- margin-top: calc(3 * var(--unit--vertical));
- margin-bottom: calc(1 * var(--unit--vertical));
}
@media screen and (min-width: 640px) {
diff --git a/assets/css/src/footer.css b/assets/css/src/footer.css
index 5c92f4d..0376ecf 100644
--- a/assets/css/src/footer.css
+++ b/assets/css/src/footer.css
@@ -1,72 +1,36 @@
#main-footer {
position: fixed;
bottom: 0;
+ width: 100%;
box-sizing: border-box;
-
- border-bottom: 0;
+ padding: var(--unit--horizontal);
}
-
[data-template="home"] #main-footer {
position: fixed;
left: 0;
bottom: 0;
}
-#main-footer li:not(.open-nav-wrapper) {
- display: none;
+#main-footer ul {
+ display: flex;
+ justify-content: center;
+ gap: calc(2 * var(--unit--horizontal));
}
-#main-footer button.open-nav {
- transform: translateY(-1px);
-}
-
-[data-template="home"] .title-wrapper button.open-nav {
- display: inline-block !important;
-}
-
-@media screen and (max-width: 640px) {
- #main-footer .open-nav {
- box-sizing: border-box;
- bottom: 0;
- display: flex;
- justify-content: center;
- width: 100%;
- outline: none;
- border-top: 1px solid #fff;
- font-size: var(--font-size-m);
- background-color: #000;
- padding: calc(var(--unit--vertical) / 2) var(--unit--horizontal);
- margin-bottom: env(safe-area-inset-bottom);
- }
+#main-footer a {
+ text-shadow: 0 0 2px #000;
+ -moz-text-shadow: 0 0 2px #000;
+ -webkit-text-shadow: 0 0 2px #000;
}
@media screen and (min-width: 640px) {
- #main-footer li {
- display: block !important;
- }
#main-footer {
position: fixed;
left: 0;
bottom: 0;
width: var(--body-padding);
- background-color: transparent;
- padding: var(--unit--vertical) var(--unit--horizontal);
}
#main-footer ul {
display: block;
}
-
- #main-footer button.open-nav {
- margin-bottom: var(--unit--vertical);
- }
-
- [data-template="home"] #main-footer .open-nav-wrapper {
- display: none !important;
- }
-
- .open-nav-wrapper {
- padding: 0;
- border: none;
- background-color: transparent;
- }
}
diff --git a/assets/css/src/generic.css b/assets/css/src/generic.css
index 9c30da6..df55578 100644
--- a/assets/css/src/generic.css
+++ b/assets/css/src/generic.css
@@ -74,18 +74,6 @@ body {
opacity: var(--opacity-light);
}
-.footnote::before {
- content: "[";
-}
-.footnote::after {
- content: "]";
-}
-
-/* ================= COLORS ================= */
-.texts .text {
- margin-bottom: var(--unit--vertical);
-}
-
/* ================= COLORS ================= */
.color {
color: var(--color);
@@ -96,8 +84,7 @@ body {
/* ================= BUTTONS ================= */
.toggle-btn--left::after,
-button.plus::after,
-button.less::after {
+button.plus::after {
margin-left: var(--unit--horizontal);
}
@@ -105,8 +92,7 @@ button.less::after {
button.plus::after {
content: "+";
}
-.toggle-btn--left.open::after,
-button.less::after {
+.toggle-btn--left.open::after {
content: "-";
}
.toggle-btn--right::before {
@@ -122,19 +108,3 @@ button.less::after {
.transition {
transition: all 0.5s var(--curve-sine);
}
-
-.short {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 5;
- overflow: hidden;
-
- /* Do not remove : required not to crop letters descenders */
- padding-bottom: 0.16rem;
- height: 8.5rem;
-}
-
-.see-more {
- width: 100%;
- margin-top: calc(var(--unit--vertical) / 2);
-}
diff --git a/assets/css/src/grid.css b/assets/css/src/grid.css
index 28594cf..fe61cc6 100644
--- a/assets/css/src/grid.css
+++ b/assets/css/src/grid.css
@@ -13,6 +13,13 @@ body.full-width #main-content {
box-sizing: border-box;
}
+.grid {
+ display: grid;
+ grid-template-columns: repeat(39, 1fr);
+ column-gap: var(--unit--horizontal);
+ margin-bottom: calc(var(--unit--vertical) * 2);
+}
+
.grid .column {
grid-column: span var(--span);
}
@@ -20,26 +27,3 @@ body.full-width #main-content {
.grid[data-columns="1"] .column {
grid-column: 11 / span 20;
}
-
-[data-template="grid"] main #main-content {
- margin-left: inherit;
-}
-
-@media screen and (max-width: 640px) {
- .grid .column:not(:last-child) {
- margin-bottom: calc(2 * var(--unit--vertical));
- }
-}
-
-@media screen and (min-width: 640px) {
- [data-template="grid"] main #main-content {
- margin-left: calc(0px - calc(4 * var(--unit--horizontal)));
- }
-
- [data-template="grid"] .grid {
- display: grid;
- grid-template-columns: repeat(39, 1fr);
- column-gap: var(--unit--horizontal);
- margin-bottom: calc(var(--unit--vertical) * 2);
- }
-}
diff --git a/assets/css/src/header.css b/assets/css/src/header.css
index f1d7518..09bf056 100644
--- a/assets/css/src/header.css
+++ b/assets/css/src/header.css
@@ -1,29 +1,12 @@
-main {
- pointer-events: none;
-}
-
-main article > div {
- pointer-events: all;
-}
-
-.page-cover > * {
- pointer-events: all;
-}
-
#main-header {
position: fixed;
- z-index: 2;
box-sizing: border-box;
width: 100vw;
padding-top: calc(var(--unit--vertical) / 2);
}
-[data-template="home"] #main-header {
- pointer-events: none;
-}
-
#logo * {
- font-size: 25.3vw;
+ font-size: 26.65vw;
font-weight: var(--font-weight-extra-bold);
}
@@ -31,7 +14,7 @@ main article > div {
height: 20vw;
width: 100%;
box-sizing: border-box;
- padding-right: 3vw;
+ padding-right: 1vw;
display: flex;
justify-content: flex-end;
align-items: center;
@@ -41,10 +24,6 @@ main article > div {
text-align: right;
}
-#logo #actuel {
- font-weight: 550;
-}
-
#logo #actuel,
#logo #inactuel {
mix-blend-mode: difference;
@@ -56,91 +35,82 @@ main article > div {
#main-header.minimized #inactuel {
margin-top: -20vw;
- transform: translateX(-1px) translateY(-1px);
+ transform: translateX(-2px) translateY(-2px);
}
#main-header.minimized #inactuel:not([data-template="home"] *) {
transform: translateX(-1px) translateY(-1px) !important;
}
-.page-cover,
-article > h1 {
- padding-top: calc(50vw);
-}
-
.page-cover {
position: relative;
height: 100svh;
box-sizing: border-box;
+ padding-top: calc(var(--unit--vertical-relative) * 9);
display: flex;
flex-direction: column;
}
-[data-template="home"] .page-cover {
- padding-top: calc(42.5vw);
-}
-
-.page-cover .title-wrapper h1 {
- margin-bottom: calc(0.255 * var(--unit--vertical));
-}
-
.page-cover .text-wrapper {
height: 100%;
overflow: auto;
}
+/* ================= ENTRY BTNS ================= */
+#entry-btns {
+ position: sticky;
+ position: -webkit-sticky;
+ top: calc(var(--unit--vertical) * 4);
+ height: var(--entry-btns-height);
+ display: flex;
+ justify-content: space-between;
+}
+[data-template="info"] #entry-btns {
+ top: calc(var(--unit--vertical) * 4);
+}
+
+[data-template="home"] .entry-btn {
+ align-items: start;
+}
+
button.toggle.left::after,
button.toggle.right::before {
transition: all 0.5s var(--curve-sine);
content: "+";
}
-.page-cover .links {
- position: absolute;
- bottom: 8px;
- width: 100%;
- box-sizing: border-box;
+#entry-btns.minimized {
+ color: #000;
+}
+#entry-btns.minimized .entry-btn--left::before,
+#entry-btns.minimized .entry-btn--right::after {
+ background-color: var(--color-secondary);
}
-.page-cover .links li {
- display: inline-block;
- margin-right: var(--unit--horizontal);
+#entry-btns.minimized .entry-btn::before,
+#entry-btns.minimized .entry-btn::after {
+ font-weight: bold;
}
-[data-template="author"] .page-cover,
-[data-template="category"] .page-cover,
-[data-template="year"] .page-cover,
-[data-template="email"] .page-cover,
-[data-template="error"] .page-cover,
-[data-template="info"] .page-cover {
- height: initial !important;
+#entry-btns.minimized .entry-btn--left {
+ padding-right: 4px;
+ margin-left: calc(-4px - var(--width));
}
-[data-template="author"] .page-cover .links,
-[data-template="category"] .page-cover .links,
-[data-template="year"] .page-cover .links,
-[data-template="email"] .page-cover .links,
-[data-template="error"] .page-cover .links,
-[data-template="info"] .page-cover .links {
- display: none;
+#entry-btns.minimized .entry-btn--right {
+ padding-left: 4px;
+ margin-right: calc(-4px - var(--width));
}
@media screen and (min-width: 640px) {
body:not([data-template="home"]) #main-header {
width: var(--body-padding);
}
- #logo * {
- font-size: 26.65vw;
- }
- #logo span {
- padding-right: 1vw;
- }
body:not([data-template="home"]) #logo * {
- font-size: 5.6vw;
+ font-size: 6vw;
}
body:not([data-template="home"]) #logo span {
height: 5vw;
- padding-right: calc(var(--unit--horizontal) - 0.3vw);
}
body:not([data-template="home"]) #main-header.minimized #inactuel {
margin-top: -4.9vw;
@@ -153,21 +123,20 @@ button.toggle.right::before {
[data-template="category"] .page-cover
) {
height: 100vh;
+ padding: calc(10 * var(--unit--vertical)) 0;
+ padding-top: calc(var(--unit--vertical) * 8);
}
-
- .page-cover,
- article > h1 {
- padding-top: 15vw;
- }
- .page-cover {
- min-height: calc(22 * var(--unit--vertical));
- }
-
[data-template="home"] .page-cover {
padding-top: calc(42.5vw) !important;
}
- .page-cover .links {
+ [data-template="author"] .page-cover,
+ [data-template="category"] .page-cover,
+ [data-template="year"] .page-cover {
+ height: initial;
+ }
+
+ #entry-btns {
display: none;
}
}
diff --git a/assets/css/src/home.css b/assets/css/src/home.css
index ea18cf4..8b13789 100644
--- a/assets/css/src/home.css
+++ b/assets/css/src/home.css
@@ -1,9 +1 @@
-.main-edito-btn {
- display: inline-block;
- margin-right: calc(2 * var(--unit--horizontal));
-}
-#main-edito {
- margin-top: calc(var(--unit--vertical) * 4);
- scroll-margin-block-start: 25vw;
-}
diff --git a/assets/css/src/html.css b/assets/css/src/html.css
index 6b6e1cf..3f2e157 100644
--- a/assets/css/src/html.css
+++ b/assets/css/src/html.css
@@ -8,11 +8,10 @@ body {
main {
padding: 0 var(--unit--horizontal);
- padding-bottom: calc(2 * var(--unit--vertical)) !important;
}
-/* [data-template="info"] main {
+[data-template="info"] main {
margin-top: calc(var(--unit--vertical) * 2);
-} */
+}
hr {
height: 1px;
@@ -39,7 +38,7 @@ html {
* {
scrollbar-width: thin;
- scrollbar-color: rgba(255, 255, 255) transparent;
+ scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}
/* Works on Chrome, Edge, and Safari */
@@ -54,7 +53,7 @@ html {
}
*::-webkit-scrollbar-thumb {
- background-color: rgba(255, 255, 255);
+ background-color: rgba(255, 255, 255, 0.25);
border-radius: 0px;
border: none;
}
@@ -70,7 +69,6 @@ html {
}
main {
- width: min(60vw, 45rem);
- padding-left: var(--body-padding);
+ padding: 0 var(--body-padding);
}
}
diff --git a/assets/css/src/nav.css b/assets/css/src/nav.css
index 976fa24..e243dcc 100644
--- a/assets/css/src/nav.css
+++ b/assets/css/src/nav.css
@@ -1,3 +1,4 @@
+/* ================= PANELS ================= */
#nav-overlay {
position: fixed;
inset: 0;
@@ -104,9 +105,6 @@ button.search__icon {
padding: var(--unit--vertical) var(--unit--horizontal);
}
-footer {
- width: 100%;
-}
.panel-close {
position: fixed;
box-sizing: border-box;
@@ -136,15 +134,15 @@ footer {
}
/* ================= YEARS ================= */
-.panel__collection .panel__item:last-child {
- margin-bottom: 6rem;
-}
.panel-item-content__edito {
margin-bottom: calc(var(--unit--vertical) / 2);
}
-.panel-item-content__edito p:not(:last-child) {
- margin-bottom: var(--unit--vertical);
+.panel-item-content__edito.short {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 5;
+ overflow: hidden;
}
button.see-more {
@@ -156,37 +154,43 @@ button.see-more {
}
/* ================= TEXT ITEM ================= */
-.panel .text:first-child,
-.panel .text:last-child {
- margin-bottom: calc(var(--unit--vertical) * 2);
-}
-
-.panel__collection--years .text:first-child .text__title {
- display: inline-block;
- padding-left: var(--unit--horizontal);
-}
-
-.panel .text__subtitle {
- margin-bottom: calc(var(--unit--vertical) / 4);
-}
-
-.panel__collection--years .text:first-child .text__infos {
- padding-left: var(--unit--horizontal);
-}
-.panel__collection--years .text:first-child .text__infos::before {
- content: "";
- position: absolute;
- left: 0;
- top: 0;
- height: 100%;
- width: 1px;
- background-color: #fff;
+.text {
+ margin-bottom: var(--unit--vertical);
}
@media screen and (min-width: 640px) {
nav.panel {
width: 40rem;
}
+ #subscribe-btn-wrapper {
+ height: 2.5rem;
+ margin-bottom: 0.2rem;
+ }
+
+ #subscribe-form {
+ position: relative;
+ width: fit-content;
+ }
+
+ #subscribe-form input {
+ background-color: transparent;
+ border: none;
+ border-bottom: 1px solid #fff;
+ box-sizing: border-box;
+ padding-bottom: 0.3rem;
+ padding-right: 2rem;
+ color: #fff;
+ width: 15rem;
+ }
+ #subscribe-form input:focus-visible {
+ outline: none;
+ }
+ #subscribe-form button[type="submit"] {
+ color: #fff;
+ position: absolute;
+ top: 0;
+ right: 0;
+ }
.panel {
z-index: 4;
diff --git a/assets/css/src/newsletter.css b/assets/css/src/newsletter.css
deleted file mode 100644
index 9910c30..0000000
--- a/assets/css/src/newsletter.css
+++ /dev/null
@@ -1,29 +0,0 @@
-#subscribe-btn-wrapper {
- height: 2.5rem;
- margin-bottom: 0.2rem;
-}
-
-#subscribe-form {
- position: relative;
- width: fit-content;
-}
-
-#subscribe-form input {
- background-color: transparent;
- border: none;
- border-bottom: 1px solid #fff;
- box-sizing: border-box;
- padding-bottom: 0.3rem;
- padding-right: 2rem;
- color: #fff;
- width: 15rem;
-}
-#subscribe-form input:focus-visible {
- outline: none;
-}
-#subscribe-form button[type="submit"] {
- color: #fff;
- position: absolute;
- top: 0;
- right: 0;
-}
diff --git a/assets/css/src/tabs.css b/assets/css/src/tabs.css
index 358cd33..9581fc3 100644
--- a/assets/css/src/tabs.css
+++ b/assets/css/src/tabs.css
@@ -76,6 +76,18 @@ button.toggle.right.open::before {
border: none;
}
+.texts__year.short .year__edito {
+ display: -webkit-box;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 5;
+ overflow: hidden;
+}
+
+.texts__year .see-more {
+ width: 100%;
+ margin-top: calc(var(--unit--vertical) / 2);
+}
+
@media screen and (min-width: 640px) {
[data-template="home"] #tabs {
margin-top: calc(0px - (10 * var(--unit--vertical)));
diff --git a/assets/css/src/texts.css b/assets/css/src/texts.css
index 6bdb636..9459a0a 100644
--- a/assets/css/src/texts.css
+++ b/assets/css/src/texts.css
@@ -28,12 +28,12 @@ h4 *,
h5,
h5 *,
p,
-p *:not(strong) {
+p * {
font-weight: var(--font-weight-light);
line-height: 1;
}
-h1 {
+h2 {
font-size: var(--font-size-xl);
}
@@ -87,11 +87,11 @@ button,
}
.fs-l {
font-size: var(--font-size-l) !important;
- line-height: calc(var(--unit--vertical) * 1.3);
+ line-height: var(--unit--vertical);
}
.fs-xl {
font-size: var(--font-size-xl) !important;
- line-height: calc(var(--unit--vertical) * 2) !important;
+ line-height: calc(var(--unit--vertical) * 1.5) !important;
}
.fs-xxl {
font-size: var(--font-size-xxl) !important;
@@ -137,14 +137,6 @@ button {
align-items: center;
}
-a {
- word-break: break-word;
-}
-
-a > * {
- word-break: normal;
-}
-
a * {
transition: font 0.2s ease-in-out;
}
@@ -174,29 +166,14 @@ article p:not(:last-child) {
.footnote,
.footnote * {
- font-style: normal !important;
scroll-margin-block-start: calc(var(--unit--vertical) * 6);
- color: var(--color-primary);
+ color: var(--color-secondary);
text-decoration: none !important;
font-weight: var(--font-weight-bold) !important;
}
-.footnote sup {
- all: unset;
-}
-
-.footnote:focus-visible,
-.footnote:target {
- text-decoration: underline !important;
- text-underline-offset: 0.5rem;
-}
-
@media screen and (min-width: 640px) {
.title-center {
margin-left: calc(2 * var(--unit--horizontal));
}
-
- .fs-l {
- line-height: calc(var(--unit--vertical) * 1.5);
- }
}
diff --git a/assets/css/style.css b/assets/css/style.css
index cfc8277..1bbc632 100644
--- a/assets/css/style.css
+++ b/assets/css/style.css
@@ -8,7 +8,6 @@
@import url("src/virtual.css");
@import url("src/home.css");
@import url("src/grid.css");
-@import url("src/newsletter.css");
@import url("src/footer.css");
@import url("src/print.css");
:root {
diff --git a/assets/dist/script.js b/assets/dist/script.js
index 1a85ce6..987e69e 100644
--- a/assets/dist/script.js
+++ b/assets/dist/script.js
@@ -1,181 +1,63 @@
"use strict";
-var verticalUnit = getUnit("--unit--vertical");
-function getUnit(id) {
- var remFactor = 16;
- var rawUnit = getComputedStyle(document.documentElement).getPropertyValue(id) || "1.7rem";
- var remUnit = parseFloat(rawUnit);
- var pxUnit = remUnit * remFactor;
- return pxUnit;
+var remFactor = 16;
+var verticalUnit = 1.3 * remFactor;
+function toggleTab(data, tab) {
+ if (data.activeTab === tab) {
+ window.scrollTo({
+ top: 0,
+ behavior: "smooth"
+ });
+ setTimeout(function () {
+ data.isOpen = false;
+ data.activeTab = "";
+ }, 500);
+ } else {
+ data.activeTab = tab;
+ data.isOpen = true;
+ scrollToElem(".active-tab");
+ }
}
-
-// Throttle found here : https://gist.github.com/ionurboz/51b505ee3281cd713747b4a84d69f434
-function throttle(func, wait, options) {
- var context, args, result;
- var timeout = null;
- var previous = 0;
- if (!options) options = {};
- var later = function later() {
- previous = options.leading === false ? 0 : Date.now();
- timeout = null;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- };
- return function () {
- var now = Date.now();
- if (!previous && options.leading === false) previous = now;
- var remaining = wait - (now - previous);
- context = this;
- args = arguments;
- if (remaining <= 0 || remaining > wait) {
- if (timeout) {
- clearTimeout(timeout);
- timeout = null;
- }
- previous = now;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- } else if (!timeout && options.trailing !== false) {
- timeout = setTimeout(later, remaining);
- }
- return result;
- };
+function scrollToElem(selector) {
+ document.querySelector(".active-tab").scrollTop = 0;
+ setTimeout(function () {
+ var yOffset = -7 * verticalUnit;
+ var elem = document.querySelector(selector);
+ var top = elem.getBoundingClientRect().top;
+ window.scrollTo({
+ top: top + window.scrollY + yOffset,
+ behavior: "smooth"
+ });
+ }, 100);
}
function setWindowHeightFactor() {
var windowHeight = window.innerHeight;
var min = 650;
var delta = windowHeight - min;
var factor = roundToNearestHalf(delta / 300) + 1;
- document.querySelector(":root").style.setProperty("--window-height-factor", factor);
+ var head = document.querySelector("head");
+ var style = document.createElement("style");
+ style.innerText = ":root { --window-height-factor:".concat(factor, " }");
+ head.appendChild(style);
}
function roundToNearestHalf(num) {
var round = Math.round(num * 2) / 2;
return Math.max(round, 0);
}
-function toggleLogoState() {
- var scrollY = window.scrollY || window.pageYOffset;
- if (scrollY > 10) {
- document.querySelector("#main-header").classList.add("minimized");
- } else {
- document.querySelector("#main-header").classList.remove("minimized");
- }
-}
-function toggleFooterState() {
- if (scrollY > 90) {
- document.querySelector("#main-footer").classList.add("main-footer--background");
- } else {
- document.querySelector("#main-footer").classList.remove("main-footer--background");
- }
-}
-function fixFootNotes() {
- var footnotes = document.querySelectorAll('a[href^="#sdfootnote"]');
- footnotes.forEach(function (footnote) {
- var href = footnote.href;
- footnote.classList.add("footnote");
- if (href.includes("sym")) {
- footnote.id = footnote.hash.replace("sym", "anc").replace("#", "");
- } else if (href.includes("anc")) {
- footnote.id = footnote.hash.replace("anc", "sym").replace("#", "");
- }
- });
-}
-function removeAccents(str) {
- var from = "áäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđ߯a·/_,:;";
- var to = "aaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------";
- for (var i = 0, l = from.length; i < l; i++) {
- str = str.replace(new RegExp(from.charAt(i), "g"), to.charAt(i));
- }
- return str;
-}
-function slugify(str) {
- return removeAccents(str.toLowerCase());
-}
-function subscribe(event) {
- event.preventDefault();
- var emailInput = document.querySelector("#subscribe-form input");
- if (emailInput.value.toLowerCase().match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)) {
- var header = {
- method: "POST",
- body: JSON.stringify(emailInput.value)
- };
- fetch("/subscribe.json", header).then(function (res) {
- return res.json();
- }).then(function (data) {
- var formNode = emailInput.parentNode.parentNode;
- formNode.outerHTML = "
" + data.message + "
";
- });
- } else {
- emailInput.value = "E-mail invalide. Recommencez.";
- }
-}
-var panelNav = document.querySelector(".panel");
-var navOverlay = document.querySelector("#nav-overlay");
-var openNavBtn = document.querySelector("button.open-nav");
-var closeNavBtn = document.querySelector(".panel-close");
-function closeNav() {
- panelNav.classList.remove("panel--visible");
- navOverlay.classList.remove("nav-overlay--visible");
- document.body.classList.remove("no-scroll");
-}
+setWindowHeightFactor();
document.addEventListener("DOMContentLoaded", function () {
- ragadjust("h1, h2, h4, h5", ["all"]);
+ function toggleLogoState() {
+ var scrollY = window.scrollY || window.pageYOffset;
+ if (scrollY > 10) {
+ document.querySelector("#main-header").classList.add("minimized");
+ } else {
+ document.querySelector("#main-header").classList.remove("minimized");
+ }
+ }
window.window.scrollTo({
top: 0
});
- var handleScroll = throttle(function () {
+ window.addEventListener("scroll", function () {
toggleLogoState();
- if (window.innerWidth <= 680) {
- toggleFooterState();
- }
- }, 100);
- window.addEventListener("scroll", handleScroll);
- setWindowHeightFactor();
- window.addEventListener("resize", function () {
- setWindowHeightFactor();
- });
- fixFootNotes();
- window.addEventListener("keyup", function (event) {
- if (event.key === "Escape") {
- closeNav();
- }
- });
- document.querySelectorAll(".panel").forEach(function (panel) {
- panel.addEventListener("click", function (event) {
- event.stopPropagation();
- });
- });
- var navSortBtns = document.querySelectorAll("nav .sort-btn");
- var navSections = document.querySelectorAll(".panel__all-texts, .panel__collection");
- navSortBtns.forEach(function (sortBtn) {
- sortBtn.addEventListener("click", function () {
- navSortBtns.forEach(function (btn) {
- return btn.classList.remove("active");
- });
- sortBtn.classList.add("active");
- var sections = {
- "sort-btn--all": ".panel__all-texts",
- "sort-btn--years": ".panel__collection--years",
- "sort-btn--categories": ".panel__collection--categories"
- };
- navSections.forEach(function (navSection) {
- return navSection.classList.add("hidden");
- });
- Object.keys(sections).forEach(function (key) {
- if (sortBtn.classList.contains(key)) {
- document.querySelector(sections[key]).classList.remove("hidden");
- }
- });
- });
- });
- openNavBtn.addEventListener("click", function () {
- panelNav.classList.add("panel--visible");
- navOverlay.classList.add("nav-overlay--visible");
- document.body.classList.add("no-scroll");
- });
- closeNavBtn.addEventListener("click", function () {
- closeNav();
- });
- navOverlay.addEventListener("click", function () {
- closeNav();
});
});
\ No newline at end of file
diff --git a/assets/dist/style.css b/assets/dist/style.css
index d0d607c..594e110 100644
--- a/assets/dist/style.css
+++ b/assets/dist/style.css
@@ -1 +1,474 @@
-body,h1,h2,h3,h4,h5,html,p,ul{margin:0;padding:0}button{all:unset;cursor:pointer}a{text-decoration:none;color:inherit}a:focus-visible{outline:none}li{list-style-type:none}body{position:relative;margin:0;background-color:var(--color-background);color:var(--color-primary);overflow-x:clip}main{padding:0 var(--unit--horizontal);padding-bottom:calc(2 * var(--unit--vertical))!important}hr{height:1px;border:none;background-color:var(--color-primary)}nav hr{background-color:var(--color-background);margin-left:0}input[type=text]:focus-visible{outline:none}body,html{scroll-behavior:smooth}*{scrollbar-width:thin;scrollbar-color:hsla(0,0%,100%,.25) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:hsla(0,0%,100%,.25);border-radius:0;border:none}@media screen and (min-width:640px){body.full-width{--padding-body:calc(var(--unit--horizontal) * 10)}body{padding-left:var(--padding-body)!important;box-sizing:content-box}main{padding:0 var(--body-padding)}}.panel-item-content__edito.short{display:-webkit-box;-webkit-line-clamp:5;overflow:hidden;padding-bottom:.16rem;height:8.5rem}.hidden{display:none}.no-scroll{overflow:hidden!important}body{background-size:var(--unit--horizontal) var(--unit--vertical);background-image:linear-gradient(90deg,var(--color-secondary--x-light) 1px,transparent 0),linear-gradient(180deg,var(--color-secondary--light) 1px,transparent 0),linear-gradient(180deg,var(--color-secondary--x-light) 1px,transparent 0);background-position:0 0,0 0,0 calc(var(--unit--vertical) / 2);background-attachment:fixed}.left:not(.padding){margin-left:calc(var(--unit--horizontal) * var(--left))}.padding.left{padding-left:calc(var(--unit--horizontal) * var(--left))}.top:not(.padding){margin-top:calc(var(--unit--vertical) * var(--top))}.padding.top{padding-top:calc(var(--unit--vertical) * var(--top))}.right:not(.padding){margin-right:calc(var(--unit--horizontal) * var(--right))}.padding.right{padding-right:calc(var(--unit--horizontal) * var(--right))}.bottom:not(.padding){margin-bottom:calc(var(--unit--vertical) * var(--bottom))}.padding.bottom{padding-bottom:calc(var(--unit--vertical) * var(--bottom))}.full-width{width:100%}.width{width:calc(var(--unit--horizontal) * var(--width))}.flex{display:flex;justify-content:var(--content);align-items:var(--align);gap:calc(var(--gap) * var(--unit--horizontal))}.flex.column{flex-direction:column}.light{opacity:var(--opacity-light)}.footnote:before{content:" ["}.footnote:after{content:"]"}.texts .text{margin-bottom:var(--unit--vertical)}.color{color:var(--color)}.opacity{opacity:var(--opacity)}.toggle-btn--left:after,button.plus:after{margin-left:var(--unit--horizontal);content:"+"}.toggle-btn--left.open:after{content:"-"}.toggle-btn--right:before{margin-right:var(--unit--horizontal);content:"+"}.toggle-btn--right.open:before{content:"-"}.transition{transition:all .5s var(--curve-sine)}@font-face{font-family:Switzer-Variable;src:url(/assets/fonts/Switzer-Variable.woff2) format("woff2"),url(/assets/fonts/Switzer-Variable.woff) format("woff"),url(/assets/fonts/Switzer-Variable.ttf) format("truetype");font-weight:100 900;font-display:swap;font-style:normal}.accent{color:var(--color-secondary);font-weight:400}*{font-family:Switzer-Variable,sans-serif}h1,h1 *,h2,h2 *,h3,h3 *,h4,h4 *,h5,h5 *,p,p *{font-weight:var(--font-weight-light);line-height:1}.h3,h1,h3{font-size:var(--font-size-xl)}.h3,h3{color:var(--color-primary)}article h2{margin-bottom:calc(var(--unit--vertical) / 2)}.title-center{--margin-left:calc(3 * var(--unit--horizontal));width:calc(100% - var(--margin-left));margin-left:var(--margin-left);line-height:var(--unit--vertical)}.title-center,.title-center h2{font-size:var(--font-size-l)}.main-title{line-height:calc(var(--unit--vertical) * 2);text-align:left;box-sizing:border-box;font-weight:var(--font-weight-light);margin-bottom:var(--unit--vertical)}.text__title{font-size:var(--font-size-l)}.fs-m,button,li,p{transform:translateY(calc(var(--unit--vertical) * .12));font-size:var(--font-size-m);line-height:calc(var(--unit--vertical))}.fs-s{font-size:var(--font-size-s)!important}.fs-m{font-size:var(--font-size-m)!important}.fs-l{font-size:var(--font-size-l)!important;line-height:calc(var(--unit--vertical) * 1.5)}.fs-xl{font-size:var(--font-size-xl)!important;line-height:calc(var(--unit--vertical) * 2)!important}.fs-xxl{font-size:var(--font-size-xxl)!important;line-height:calc(var(--unit--vertical) * 2.5)!important}.fw-light,button,li,p{font-weight:var(--font-weight-light)}.fw-bold{font-weight:var(--font-weight-bold)}.fw-extra-bold{font-weight:var(--font-weight-extra-bold)}.f-inherit{font-size:inherit;line-height:inherit;font-weight:inherit}.ta-center{text-align:center}p{transform:translateY(3px)}input{font-size:var(--font-size-s);font-weight:var(--font-weight-light)}button{display:flex;align-items:center}a *{transition:font .2s ease-in-out}a.no-underline.text__title:hover *{text-decoration:underline;text-decoration-color:inherit;text-decoration-line:underline;text-underline-offset:.2rem;text-decoration-thickness:.5px}a:not(.no-underline):hover{text-decoration:none}a:not(.no-underline){text-decoration:underline;text-decoration-color:inherit;text-decoration-line:underline;text-underline-offset:.2rem;text-decoration-thickness:.5px}article p:not(:last-child){margin-bottom:var(--unit--vertical)}.footnote,.footnote *{scroll-margin-block-start:calc(var(--unit--vertical) * 6);color:var(--color-secondary);text-decoration:none!important;font-weight:var(--font-weight-bold)!important}@media screen and (min-width:640px){.title-center{margin-left:calc(2 * var(--unit--horizontal))}}main{pointer-events:none}.page-cover>*,main article>div{pointer-events:all}#main-header{position:fixed;z-index:2;box-sizing:border-box;width:100vw;padding-top:calc(var(--unit--vertical) / 2)}#logo *{font-size:25.3vw;font-weight:var(--font-weight-extra-bold)}#logo span{height:20vw;width:100%;box-sizing:border-box;padding-right:3vw;display:flex;justify-content:flex-end;align-items:center}#logo{text-align:right}#logo #actuel,#logo #inactuel{mix-blend-mode:difference}#logo #inactuel{transition:margin-top .3s ease-in-out,transform .3s ease-in-out}#main-header.minimized #inactuel{margin-top:-20vw;transform:translateX(-1px) translateY(-1px)}#main-header.minimized #inactuel:not([data-template=home] *){transform:translateX(-1px) translateY(-1px)!important}.page-cover{position:relative;height:100svh;box-sizing:border-box;padding-top:calc(var(--unit--vertical-relative) * 7);display:flex;flex-direction:column}.page-cover .text-wrapper{height:100%;overflow:auto}button.toggle.left:after,button.toggle.right:before{transition:all .5s var(--curve-sine);content:"+"}.page-cover .links{position:absolute;bottom:8px;padding-left:calc(5rem + var(--unit--horizontal));width:100%;box-sizing:border-box}.page-cover .links li{display:inline-block;margin-right:var(--unit--horizontal)}[data-template=author] .page-cover,[data-template=category] .page-cover,[data-template=email] .page-cover,[data-template=error] .page-cover,[data-template=info] .page-cover,[data-template=year] .page-cover{height:auto!important}[data-template=author] .page-cover .links,[data-template=category] .page-cover .links,[data-template=email] .page-cover .links,[data-template=error] .page-cover .links,[data-template=info] .page-cover .links,[data-template=year] .page-cover .links{display:none}@media screen and (min-width:640px){body:not([data-template=home]) #main-header{width:var(--body-padding)}#logo *{font-size:26.65vw}#logo span{padding-right:1vw}body:not([data-template=home]) #logo *{font-size:6vw}body:not([data-template=home]) #logo span{height:5vw}body:not([data-template=home]) #main-header.minimized #inactuel{margin-top:-4.9vw;transform:translateX(-2px) translateY(-2px)}.page-cover:not([data-template=author] .page-cover,[data-template=year] .page-cover,[data-template=category] .page-cover){height:100vh}[data-template=home] .page-cover{padding-top:42.5vw!important}.page-cover .links{display:none}}button.open-nav{display:inline-block}#nav-overlay{position:fixed;inset:0;background-color:#000;opacity:.7;z-index:2;cursor:w-resize}#nav-overlay:not(.nav-overlay--visible),.panel{display:none}.panel{position:fixed;overflow:auto;width:100vw;height:100dvh;top:0;background-color:#000;outline:1px solid #fff;transition:all .5s var(--curve-sine);z-index:3;box-sizing:border-box;flex-direction:column}.panel.panel--visible{display:flex}.panel header{position:sticky;top:0;z-index:1;background-color:#000;padding:var(--unit--vertical) var(--unit--horizontal);padding-bottom:0}.sort-btns{box-sizing:border-box}.sort-btns button{all:unset;cursor:pointer;display:inline-block;margin-right:2vw}.sort-btns button.active,.sort-btns button:hover{text-decoration:underline;text-underline-offset:4px}.search{position:relative;width:100%;margin-top:var(--unit--vertical);background-color:#000;z-index:1;top:0;box-sizing:border-box}.search__input{all:unset;width:100%;background-color:transparent;padding:calc(var(--unit--vertical) / 4) 0;border:none;border-bottom:1px solid #fff;color:#fff;font-size:var(--font-size-m);font-weight:var(--font-weight-light)}.search__input::placeholder{font-size:var(--font-size-sm);letter-spacing:1px}.search__icon{all:unset;position:absolute;width:1.2rem;height:1.2rem;padding:.5rem;right:0;transform:translateX(.5rem) translateY(.2rem)}button.search__icon{cursor:pointer}.panel__collection{scroll-behavior:smooth;height:100%;overflow:auto;padding:var(--unit--vertical) var(--unit--horizontal)}.panel-close{position:fixed;box-sizing:border-box;bottom:0;justify-content:center;width:100%;outline:none;border-top:1px solid #fff;font-size:var(--font-size-m);background-color:#000;padding:calc(var(--unit--vertical) / 2) var(--unit--horizontal);margin-bottom:env(safe-area-inset-bottom)}.panel__toggle-btn{width:100%;display:flex;justify-content:space-between;margin-bottom:var(--unit--vertical)}.panel__toggle-icon{color:var(--color-secondary);font-size:var(--font-size-xl)}.panel-item-content__edito{margin-bottom:calc(var(--unit--vertical) / 2)}.panel-item-content__edito p:not(:last-child),button.see-more{margin-bottom:var(--unit--vertical)}.panel-item-content__texts:not(.panel__collection .panel-item-content__texts){padding:var(--unit--vertical) var(--unit--horizontal)}.panel .text:first-child,.panel .text:last-child{margin-bottom:calc(var(--unit--vertical) * 2)}.panel__collection--years .text:first-child .text__title{display:inline-block;padding-left:var(--unit--horizontal)}.panel .text__subtitle{margin-bottom:calc(var(--unit--vertical) / 4)}.panel__collection--years .text:first-child .text__infos{padding-left:var(--unit--horizontal)}.panel__collection--years .text:first-child .text__infos:before{content:"";position:absolute;left:0;top:0;height:100%;width:1px;background-color:#fff}@media screen and (min-width:640px){nav.panel{width:40rem}.panel{z-index:4;width:var(--padding-body)}.panel-close{display:none}.panel--right{right:auto;left:calc(-100vw - 1px)}.panel--right.open{left:0}}article #main-content{max-width:calc(18 * var(--unit--horizontal));scroll-margin-block-start:calc(var(--unit--vertical) * 6);padding-bottom:calc(var(--unit--vertical) * 2);margin-top:calc(2 * var(--unit--vertical))}#chapo{font-style:italic}#main-content .texts{margin-top:calc(2 * var(--unit--vertical))}#main-content .see-more{margin-top:calc(var(--unit--vertical) * .5)}#chapo em{font-style:normal}article #main-content #chapo:after{content:"";display:block;margin:calc(2 * var(--unit--vertical)) 0;width:100%;height:1px;background-color:#fff}article #main-content li:not(.text){list-style-type:inherit}@media screen and (min-width:640px){article #main-content{max-width:auto}}[data-template=year] .edito{margin-bottom:var(--unit--vertical)}.main-edito-btn{display:inline-block;margin-right:calc(2 * var(--unit--horizontal))}#main-edito{margin-top:calc(var(--unit--vertical) * 4);scroll-margin-block-start:25vw}body.full-width #desktop-nav{height:auto}body.full-width #desktop-nav .empty{height:calc(var(--unit--vertical) / 2)}body.full-width #main-content{position:absolute;left:0;width:100vw;padding:0 var(--unit--horizontal) var(--unit--vertical);box-sizing:border-box}.grid .column{grid-column:span var(--span)}.grid[data-columns="1"] .column{grid-column:11/span 20}[data-template=grid] main #main-content{margin-left:inherit}@media screen and (min-width:640px){[data-template=grid] main #main-content{margin-left:calc(0px - (4 * var(--unit--horizontal)))}[data-template=grid] .grid{display:grid;grid-template-columns:repeat(39,1fr);column-gap:var(--unit--horizontal);margin-bottom:calc(var(--unit--vertical) * 2)}}#subscribe-btn-wrapper{height:2.5rem;margin-bottom:.2rem}#subscribe-form{position:relative;width:-moz-fit-content;width:fit-content}#subscribe-form input{background-color:transparent;border:none;border-bottom:1px solid #fff;box-sizing:border-box;padding-bottom:.3rem;padding-right:2rem;color:#fff;width:15rem}#subscribe-form input:focus-visible{outline:none}#subscribe-form button[type=submit]{color:#fff;position:absolute;top:0;right:0}#main-footer{position:fixed;bottom:0;box-sizing:border-box;padding:3px var(--unit--horizontal) 6px;border-bottom:0}.main-footer--background{border-top:1px solid #eee;border-right:1px solid #eee;background-color:#000}[data-template=home] #main-footer{position:fixed;left:0;bottom:0}#main-footer li:not(.open-nav-wrapper){display:none}#main-footer button.open-nav{transform:translateY(-1px)}@media screen and (min-width:640px){#main-footer li{display:block!important}#main-footer{position:fixed;left:0;bottom:0;width:var(--body-padding);background-color:transparent;padding:var(--unit--vertical) var(--unit--horizontal)}#main-footer ul{display:block}#main-footer button.open-nav{margin-bottom:var(--unit--vertical)}}@media print{@page{margin:0;size:auto;@top-left{content:none}@top-right{content:none}@top-center{content:none}@bottom-left{content:none}@bottom-right{content:none}@bottom-center{content:none}}body{padding-top:4rem;color:#000}.panel{display:none}.main-title.fs-xxl{font-size:7rem!important;line-height:1!important}#main-header{position:relative}#logo #actuel{color:#000;opacity:.8}#logo #inactuel{color:#56d9a3}#entry-btns{display:none}a{text-decoration:none!important}article #main-content{width:60%;margin:auto}}:root{--color-background:#000;--color-primary:#fff;--color-primary--transparent:hsla(0,0%,100%,.86);--color-secondary-rgb:200,200,200;--color-secondary:rgba(var(--color-secondary-rgb),0.86);--color-secondary--light:rgba(var(--color-secondary-rgb),0.2);--color-secondary--x-light:rgb(var(--color-secondary-rgb),0.1);--color-tertiary-rgb:200,200,200;--color-tertiary:rgba(var(--color-tertiary-rgb),0.86);--color-tertiary--light:rgba(var(--color-tertiary-rgb),0.2);--color-tertiary--x-light:rgb(var(--color-tertiary-rgb),0.1);--unit--horizontal:5vw;--unit--vertical:1.7rem;--unit--vertical-relative:calc(var(--unit--vertical) * var(--window-height-factor));--font-size-s:0.8rem;--font-size-m:calc(var(--font-size-s) * 1.5);--font-size-l:calc(var(--font-size-m) * 1.5);--font-size-xl:calc(var(--font-size-l) * 1.5);--font-size-xxl:calc(var(--font-size-xl) * 1.5);--font-weight-light:200;--font-weight-bold:400;--font-weight-extra-bold:550;--opacity-light:0.6;--curve-sine:cubic-bezier(0.445,0.05,0.55,0.95)}@media screen and (min-width:640px){:root{--unit--horizontal:2.5vw;--unit--vertical:1.7rem;--font-size-s:0.9rem;--font-size-m:calc(var(--font-size-s) * 1.5);--font-size-l:calc(var(--font-size-m) * 1.5);--font-size-xl:calc(var(--font-size-l) * 1.5);--font-size-xxl:calc(var(--font-size-xl) * 1.5);--font-weight-light:200;--font-weight-bold:400;--font-weight-extra-bold:550;--body-padding:calc(10 * var(--unit--horizontal))}}
\ No newline at end of file
+body,
+h1,
+h2,
+h3,
+h4,
+h5,
+html,
+p,
+ul {
+ margin: 0;
+ padding: 0;
+}
+button {
+ background: none;
+ border: none;
+ padding: 0;
+ font: inherit;
+ cursor: pointer;
+ outline: inherit;
+}
+a,
+button {
+ color: inherit;
+}
+a {
+ text-decoration: none;
+}
+li {
+ list-style-type: none;
+}
+:root {
+ --color-background: #000;
+ --color-primary: #fff;
+ --color-primary--transparent: hsla(0, 0%, 100%, 0.86);
+ --color-secondary: rgba(120, 171, 150, 0.86);
+ --color-secondary--light: rgba(119, 177, 157, 0.2);
+ --color-secondary--x-light: rgba(119, 177, 157, 0.1);
+ --unit--horizontal: 5vw;
+ --unit--vertical: 1.7rem;
+ --unit--vertical-relative: calc(
+ var(--unit--vertical) * var(--window-height-factor)
+ );
+ --font-size-s: 0.8rem;
+ --font-size-m: calc(var(--font-size-s) * 1.5);
+ --font-size-l: calc(var(--font-size-m) * 1.5);
+ --font-size-xl: calc(var(--font-size-l) * 1.5);
+ --font-size-xxl: calc(var(--font-size-xl) * 1.5);
+ --font-weight-light: 200;
+ --font-weight-bold: 400;
+ --font-weight-extra-bold: 550;
+}
+@media screen and (min-width: 640px) {
+ :root {
+ --color-background: #000;
+ --color-primary: #fff;
+ --color-primary--transparent: hsla(0, 0%, 100%, 0.86);
+ --color-secondary: rgba(120, 171, 150, 0.86);
+ --color-secondary--light: rgba(119, 177, 157, 0.25);
+ --color-secondary--x-light: rgba(119, 177, 157, 0.15);
+ --unit--horizontal: 5vw;
+ --unit--vertical: 1.7rem;
+ --font-size-s: 0.9rem;
+ --font-size-m: calc(var(--font-size-s) * 1.5);
+ --font-size-l: calc(var(--font-size-m) * 1.5);
+ --font-size-xl: calc(var(--font-size-l) * 1.5);
+ --font-size-xxl: calc(var(--font-size-xl) * 1.5);
+ --font-weight-light: 200;
+ --font-weight-bold: 400;
+ --font-weight-extra-bold: 550;
+ }
+}
+body {
+ box-sizing: border-box;
+ padding: 0 var(--unit--horizontal);
+ background-color: var(--color-background);
+ color: var(--color-primary);
+}
+body,
+main {
+ position: relative;
+}
+hr {
+ height: calc(var(--unit--vertical) / 2);
+ border: none;
+ background-color: var(--color-primary);
+ width: calc(var(--unit--horizontal) * 4);
+ margin: calc(var(--unit--vertical) * 2) calc(var(--unit--horizontal));
+}
+nav hr {
+ background-color: var(--color-background);
+ margin-left: 0;
+}
+body,
+html {
+ scroll-behavior: smooth;
+}
+* {
+ scrollbar-width: thin;
+ scrollbar-color: transparent transparent;
+}
+::-webkit-scrollbar {
+ width: 6px;
+ height: 6px;
+}
+::-webkit-scrollbar-track {
+ background: transparent;
+}
+::-webkit-scrollbar-thumb {
+ background-color: transparent;
+ border-radius: 0;
+ border: none;
+}
+@media screen and (min-width: 640px) {
+ body {
+ padding: 0 calc(6 * var(--unit--horizontal));
+ }
+}
+.hidden {
+ display: none;
+}
+.background-grid {
+ background-size: var(--unit--horizontal) var(--unit--vertical);
+ background-image: linear-gradient(
+ 90deg,
+ var(--color-secondary--x-light) 1px,
+ transparent 0
+ ),
+ linear-gradient(180deg, var(--color-secondary--light) 1px, transparent 0),
+ linear-gradient(180deg, var(--color-secondary--x-light) 1px, transparent 0);
+ background-position: 0 0, 0 0, 0 calc(var(--unit--vertical) / 2);
+ background-attachment: fixed;
+}
+.left:not(.padding) {
+ margin-left: calc(var(--unit--horizontal) * var(--left));
+}
+.padding.left {
+ padding-left: calc(var(--unit--horizontal) * var(--left));
+}
+.top:not(.padding) {
+ margin-top: calc(var(--unit--vertical) * var(--top));
+}
+.padding.top {
+ padding-top: calc(var(--unit--vertical) * var(--top));
+}
+.right:not(.padding) {
+ margin-right: calc(var(--unit--horizontal) * var(--right));
+}
+.padding.right {
+ padding-right: calc(var(--unit--horizontal) * var(--right));
+}
+.bottom:not(.padding) {
+ margin-bottom: calc(var(--unit--vertical) * var(--bottom));
+}
+.padding.bottom {
+ padding-bottom: calc(var(--unit--vertical) * var(--bottom));
+}
+.full-width {
+ width: 100%;
+}
+.width {
+ width: calc(var(--unit--horizontal) * var(--width));
+}
+.flex {
+ display: flex;
+ justify-content: var(--content);
+ align-items: var(--align);
+ gap: calc(var(--gap) * var(--unit--horizontal));
+}
+.flex.column {
+ flex-direction: column;
+}
+.color {
+ color: var(--color);
+}
+.opacity {
+ opacity: var(--opacity);
+}
+@font-face {
+ font-family: Switzer-Variable;
+ src: url(/assets/fonts/Switzer-Variable.woff2) format("woff2"),
+ url(/assets/fonts/Switzer-Variable.woff) format("woff"),
+ url(/assets/fonts/Switzer-Variable.ttf) format("truetype");
+ font-weight: 100 900;
+ font-display: swap;
+ font-style: normal;
+}
+.accent {
+ color: var(--color-secondary);
+ font-weight: 400;
+}
+* {
+ font-family: Switzer-Variable, sans-serif;
+}
+#logo * {
+ font-size: 25vw;
+ line-height: 4rem;
+ transform: translate(-2px, -13px);
+ font-weight: var(--font-weight-extra-bold);
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+p {
+ font-weight: var(--font-weight-light);
+ line-height: 1;
+}
+h2 {
+ font-size: var(--font-size-xl);
+}
+article h2 {
+ margin-bottom: calc(var(--unit--vertical) / 2);
+}
+.title-center {
+ --margin-left: calc(4 * var(--unit--horizontal));
+ width: calc(100% - var(--margin-left));
+ margin-left: var(--margin-left);
+ font-size: var(--font-size-l);
+ line-height: var(--unit--vertical);
+}
+.main-title {
+ line-height: calc(var(--unit--vertical) * 2);
+ text-align: left;
+ box-sizing: border-box;
+ font-weight: var(--font-weight-light);
+ margin-bottom: var(--unit--vertical);
+}
+.texts__title {
+ font-size: var(--font-size-l);
+}
+.fs-m,
+button,
+li,
+p {
+ transform: translateY(calc(var(--unit--vertical) * 0.12));
+ font-size: var(--font-size-m);
+ line-height: calc(var(--unit--vertical));
+}
+.fs-s {
+ font-size: var(--font-size-s) !important;
+}
+.fs-m {
+ font-size: var(--font-size-m) !important;
+}
+.fs-l {
+ font-size: var(--font-size-l) !important;
+}
+.fs-xl {
+ font-size: var(--font-size-xl) !important;
+ line-height: calc(var(--unit--vertical) * 1.5) !important;
+}
+.fs-xxl {
+ font-size: var(--font-size-xxl) !important;
+ line-height: calc(var(--unit--vertical) * 2.5) !important;
+}
+.fw-light,
+button,
+li,
+p {
+ font-weight: var(--font-weight-light);
+}
+.fw-bold {
+ font-weight: var(--font-weight-bold);
+}
+.fw-extra-bold {
+ font-weight: var(--font-weight-extra-bold);
+}
+.f-inherit {
+ font-size: inherit;
+ line-height: inherit;
+ font-weight: inherit;
+}
+.ta-center {
+ text-align: center;
+}
+p {
+ transform: translateY(3px);
+}
+button {
+ display: flex;
+ align-items: center;
+}
+a * {
+ transition: font 0.2s ease-in-out;
+}
+a.no-underline:hover * {
+ font-weight: 250;
+}
+a:not(.no-underline):hover {
+ text-decoration: none;
+}
+a:not(.no-underline) {
+ text-decoration: underline;
+ text-decoration-color: inherit;
+ text-decoration-line: underline;
+ text-underline-offset: 0.2rem;
+ text-decoration-thickness: 0.5px;
+}
+article p:not(:last-child) {
+ margin-bottom: var(--unit--vertical);
+}
+@media screen and (min-width: 640px) {
+ .title-center {
+ margin-left: calc(2 * var(--unit--horizontal));
+ }
+}
+#main-header {
+ position: fixed;
+ z-index: 1;
+ top: 0;
+ left: 0;
+ box-sizing: border-box;
+ width: 100vw;
+ height: calc(var(--unit--vertical) * 5);
+ padding: var(--unit--vertical) var(--unit--horizontal);
+ transition: height 0.2s ease-in-out;
+}
+#logo {
+ position: relative;
+}
+#main-header.open #actuel {
+ color: var(--color-background);
+}
+#logo #actuel {
+ color: var(--color-primary--transparent);
+ position: relative;
+ z-index: 1;
+}
+#logo #inactuel {
+ position: absolute;
+ z-index: 0;
+ color: var(--color-secondary);
+ bottom: -48%;
+ transition: bottom 0.2s ease-in-out;
+}
+#main-header.minimized #logo #inactuel {
+ bottom: 0;
+}
+.page-cover {
+ position: relative;
+ box-sizing: border-box;
+ height: 100svh;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ padding-top: calc(var(--unit--vertical-relative) * 5);
+ padding-bottom: calc(5 * var(--unit--vertical));
+}
+.page-cover.open + * {
+ margin-top: calc(var(--unit--vertical-relative) * 19);
+}
+[data-template="home"] .page-cover {
+ padding-top: calc(var(--unit--vertical-relative) * 6);
+}
+#category .page-cover {
+ height: auto;
+ padding-bottom: 0;
+ margin-bottom: calc(2 * var(--unit--vertical));
+}
+#category .active-tab {
+ max-height: none;
+}
+@media screen and (min-width: 640px) {
+ #main-header {
+ display: flex;
+ justify-content: center;
+ }
+ #logo {
+ width: 37vw;
+ }
+ #logo * {
+ font-size: 11vw;
+ }
+ #main-header.minimized {
+ height: calc(var(--unit--vertical) * 4.3);
+ }
+ .page-cover {
+ padding: calc(10 * var(--unit--vertical)) 0;
+ }
+}
+.toggle-btns {
+ position: sticky;
+}
+button.toggle.open:not(.see-more) {
+ font-weight: 700;
+}
+button.toggle.left:after {
+ margin-left: var(--unit--horizontal);
+}
+button.toggle.left.close:after {
+ content: "+";
+}
+button.toggle.left.open:after {
+ content: "-";
+}
+button.toggle.right:before {
+ margin-right: var(--unit--horizontal);
+}
+button.toggle.right.close:before {
+ content: "+";
+}
+button.toggle.right.open:before {
+ content: "-";
+}
+#tabs {
+ position: absolute;
+ width: 100%;
+ z-index: 1;
+ bottom: calc(var(--unit--vertical-relative) * 4);
+}
+.active-tab {
+ position: absolute;
+ max-height: calc(var(--unit--vertical-relative) * 17);
+ overflow: auto;
+ transition: max-height 0.5s ease-in-out;
+ padding: var(--unit--vertical) 0;
+ scrollbar-width: thin;
+ scrollbar-color: #fff transparent;
+}
+.active-tab::-webkit-scrollbar {
+ width: 3px;
+ height: auto;
+}
+.active-tab::-webkit-scrollbar-track {
+ background: transparent;
+}
+.active-tab::-webkit-scrollbar-thumb {
+ background-color: #fff;
+ border-radius: 1px;
+ border: none;
+}
+.texts__year.short .year__edito {
+ display: -webkit-box;
+ -webkit-line-clamp: 5;
+ overflow: hidden;
+}
+.texts__year .see-more {
+ width: 100%;
+ margin-top: calc(var(--unit--vertical) / 2);
+}
+@media screen and (min-width: 640px) {
+ [data-template="home"] #tabs {
+ margin-top: calc(0px - (10 * var(--unit--vertical)));
+ }
+ button.toggle.left:after {
+ margin-left: calc(var(--unit--horizontal) / 2);
+ }
+ button.toggle.right:before {
+ margin-right: calc(var(--unit--horizontal) / 2);
+ }
+}
+.article-header .title-wrapper {
+ --margin-left: 2;
+ width: calc(100% - (var(--margin-left) * var(--unit--horizontal)));
+ padding-left: calc(var(--margin-left) * var(--unit--horizontal));
+}
+#main-footer {
+ position: fixed;
+ left: 0;
+ bottom: 0;
+ width: calc(18 * var(--unit--horizontal));
+ padding: var(--unit--horizontal);
+}
+#main-footer a {
+ text-shadow: 0 0 2px #000;
+ -moz-text-shadow: 0 0 2px #000;
+ -webkit-text-shadow: 0 0 2px #000;
+}
+@media screen and (min-width: 640px) {
+ #main-footer {
+ padding: calc(var(--unit--horizontal) / 2) var(--unit--horizontal);
+ }
+}
diff --git a/assets/js/script.js b/assets/js/script.js
index f734272..4bad7a0 100644
--- a/assets/js/script.js
+++ b/assets/js/script.js
@@ -9,36 +9,16 @@ function getUnit(id) {
return pxUnit;
}
-// Throttle found here : https://gist.github.com/ionurboz/51b505ee3281cd713747b4a84d69f434
-function throttle(func, wait, options) {
- var context, args, result;
- var timeout = null;
- var previous = 0;
- if (!options) options = {};
- var later = function () {
- previous = options.leading === false ? 0 : Date.now();
- timeout = null;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- };
+function throttle(callback, limit) {
+ let waiting = false;
return function () {
- var now = Date.now();
- if (!previous && options.leading === false) previous = now;
- var remaining = wait - (now - previous);
- context = this;
- args = arguments;
- if (remaining <= 0 || remaining > wait) {
- if (timeout) {
- clearTimeout(timeout);
- timeout = null;
- }
- previous = now;
- result = func.apply(context, args);
- if (!timeout) context = args = null;
- } else if (!timeout && options.trailing !== false) {
- timeout = setTimeout(later, remaining);
+ if (!waiting) {
+ callback.apply(this, arguments);
+ waiting = true;
+ setTimeout(function () {
+ waiting = false;
+ }, limit);
}
- return result;
};
}
@@ -67,25 +47,17 @@ function toggleLogoState() {
document.querySelector("#main-header").classList.remove("minimized");
}
}
-function toggleFooterState() {
- if (scrollY > 90) {
- document.querySelector(".open-nav-wrapper").classList.remove("hidden");
- } else {
- document.querySelector(".open-nav-wrapper").classList.add("hidden");
- }
-}
function fixFootNotes() {
const footnotes = document.querySelectorAll('a[href^="#sdfootnote"]');
footnotes.forEach((footnote) => {
const href = footnote.href;
-
footnote.classList.add("footnote");
-
if (href.includes("sym")) {
footnote.id = footnote.hash.replace("sym", "anc").replace("#", "");
- } else if (href.includes("anc")) {
+ }
+ if (href.includes("anc")) {
footnote.id = footnote.hash.replace("anc", "sym").replace("#", "");
}
});
@@ -104,30 +76,38 @@ function slugify(str) {
return removeAccents(str.toLowerCase());
}
+const subscribeBtn = document.querySelector("#subscribe-btn");
+function showSubscribeField(event) {
+ event.preventDefault();
+ const button = event.target;
+ const li = button.parentNode;
+ const form = li.querySelector("#subscribe-form");
+ const input = form.querySelector("input");
+
+ form.classList.remove("hidden");
+ button.classList.add("hidden");
+ input.focus();
+}
+
function subscribe(event) {
event.preventDefault();
- const emailInput = document.querySelector("#subscribe-form input");
+ const email = document.querySelector("#subscribe-form input");
- if (emailInput.value.toLowerCase().match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)) {
+ if (email.value.toLowerCase().match(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)) {
const header = {
method: "POST",
- body: JSON.stringify(emailInput.value),
+ body: email.value,
};
- fetch("/subscribe.json", header)
- .then((res) => res.json())
- .then((data) => {
- const formNode = emailInput.parentNode.parentNode;
- formNode.outerHTML = "" + data.message + "
";
- });
+ fetch("/subscribe.json");
} else {
- emailInput.value = "E-mail invalide. Recommencez.";
+ email.value = "E-mail invalide. Recommencez.";
}
}
const panelNav = document.querySelector(".panel");
const navOverlay = document.querySelector("#nav-overlay");
-const openNavBtns = document.querySelectorAll("button.open-nav");
+const openNavBtn = document.querySelector("button.open-nav");
const closeNavBtn = document.querySelector(".panel-close");
function closeNav() {
panelNav.classList.remove("panel--visible");
@@ -136,18 +116,14 @@ function closeNav() {
}
document.addEventListener("DOMContentLoaded", () => {
- ragadjust("h1, h2, h4, h5", ["all"]);
+ ragadjust("h1, h2, h3, h4, h5", ["all"]);
window.window.scrollTo({
top: 0,
});
- const handleScroll = throttle(() => {
+ window.addEventListener("scroll", () => {
toggleLogoState();
- if (window.innerWidth <= 680) {
- toggleFooterState();
- }
- }, 100);
- window.addEventListener("scroll", handleScroll);
+ });
setWindowHeightFactor();
window.addEventListener("resize", () => {
@@ -193,12 +169,10 @@ document.addEventListener("DOMContentLoaded", () => {
});
});
- openNavBtns.forEach((openNavBtn) => {
- openNavBtn.addEventListener("click", () => {
- panelNav.classList.add("panel--visible");
- navOverlay.classList.add("nav-overlay--visible");
- document.body.classList.add("no-scroll");
- });
+ openNavBtn.addEventListener("click", () => {
+ panelNav.classList.add("panel--visible");
+ navOverlay.classList.add("nav-overlay--visible");
+ document.body.classList.add("no-scroll");
});
closeNavBtn.addEventListener("click", () => {
@@ -207,4 +181,6 @@ document.addEventListener("DOMContentLoaded", () => {
navOverlay.addEventListener("click", () => {
closeNav();
});
+
+ subscribeBtn.addEventListener("click", showSubscribeField);
});
diff --git a/composer.json b/composer.json
index ffcade6..b490cfa 100644
--- a/composer.json
+++ b/composer.json
@@ -23,21 +23,11 @@
},
"require": {
"php": "~8.1.0 || ~8.2.0 || ~8.3.0",
- "getkirby/cms": "^4.5",
- "symfony/http-client": "^7.2",
- "nyholm/psr7": "^1.8",
- "php-http/guzzle7-adapter": "^1.1",
- "mailersend/mailersend": "^0.28.0",
- "sylvainjule/code-editor": "^1.0",
- "tobimori/kirby-seo": "^1.1"
+ "getkirby/cms": "^4.0"
},
"config": {
- "platform": {
- "php": "8.3.0"
- },
"allow-plugins": {
- "getkirby/composer-installer": true,
- "php-http/discovery": true
+ "getkirby/composer-installer": true
},
"optimize-autoloader": true
},
diff --git a/composer.lock b/composer.lock
index f9e2f85..755dda1 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,75 +4,8 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "30f9edc8f90ec79150fffac01e3b80fd",
+ "content-hash": "749a661738bcd5b9428c88a1da847bc7",
"packages": [
- {
- "name": "beberlei/assert",
- "version": "v3.3.3",
- "source": {
- "type": "git",
- "url": "https://github.com/beberlei/assert.git",
- "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/beberlei/assert/zipball/b5fd8eacd8915a1b627b8bfc027803f1939734dd",
- "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd",
- "shasum": ""
- },
- "require": {
- "ext-ctype": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "ext-simplexml": "*",
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "*",
- "phpstan/phpstan": "*",
- "phpunit/phpunit": ">=6.0.0",
- "yoast/phpunit-polyfills": "^0.1.0"
- },
- "suggest": {
- "ext-intl": "Needed to allow Assertion::count(), Assertion::isCountable(), Assertion::minCount(), and Assertion::maxCount() to operate on ResourceBundles"
- },
- "type": "library",
- "autoload": {
- "files": [
- "lib/Assert/functions.php"
- ],
- "psr-4": {
- "Assert\\": "lib/Assert"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-2-Clause"
- ],
- "authors": [
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de",
- "role": "Lead Developer"
- },
- {
- "name": "Richard Quadling",
- "email": "rquadling@gmail.com",
- "role": "Collaborator"
- }
- ],
- "description": "Thin assertion library for input validation in business models.",
- "keywords": [
- "assert",
- "assertion",
- "validation"
- ],
- "support": {
- "issues": "https://github.com/beberlei/assert/issues",
- "source": "https://github.com/beberlei/assert/tree/v3.3.3"
- },
- "time": "2024-07-15T13:18:35+00:00"
- },
{
"name": "christian-riesen/base32",
"version": "1.6.0",
@@ -134,16 +67,16 @@
},
{
"name": "claviska/simpleimage",
- "version": "4.2.1",
+ "version": "4.0.6",
"source": {
"type": "git",
"url": "https://github.com/claviska/SimpleImage.git",
- "reference": "ec6d5021e5a7153a2520d64c59b86b6f3c4157c5"
+ "reference": "969de5e61810ef91f6f83c475b192c4841367dfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/ec6d5021e5a7153a2520d64c59b86b6f3c4157c5",
- "reference": "ec6d5021e5a7153a2520d64c59b86b6f3c4157c5",
+ "url": "https://api.github.com/repos/claviska/SimpleImage/zipball/969de5e61810ef91f6f83c475b192c4841367dfa",
+ "reference": "969de5e61810ef91f6f83c475b192c4841367dfa",
"shasum": ""
},
"require": {
@@ -175,7 +108,7 @@
"description": "A PHP class that makes working with images as simple as possible.",
"support": {
"issues": "https://github.com/claviska/SimpleImage/issues",
- "source": "https://github.com/claviska/SimpleImage/tree/4.2.1"
+ "source": "https://github.com/claviska/SimpleImage/tree/4.0.6"
},
"funding": [
{
@@ -183,94 +116,28 @@
"type": "github"
}
],
- "time": "2024-11-22T13:25:03+00:00"
- },
- {
- "name": "clue/stream-filter",
- "version": "v1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/clue/stream-filter.git",
- "reference": "049509fef80032cb3f051595029ab75b49a3c2f7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7",
- "reference": "049509fef80032cb3f051595029ab75b49a3c2f7",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "Clue\\StreamFilter\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Christian Lück",
- "email": "christian@clue.engineering"
- }
- ],
- "description": "A simple and modern approach to stream filtering in PHP",
- "homepage": "https://github.com/clue/stream-filter",
- "keywords": [
- "bucket brigade",
- "callback",
- "filter",
- "php_user_filter",
- "stream",
- "stream_filter_append",
- "stream_filter_register"
- ],
- "support": {
- "issues": "https://github.com/clue/stream-filter/issues",
- "source": "https://github.com/clue/stream-filter/tree/v1.7.0"
- },
- "funding": [
- {
- "url": "https://clue.engineering/support",
- "type": "custom"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
- }
- ],
- "time": "2023-12-20T15:40:13+00:00"
+ "time": "2023-07-27T16:48:12+00:00"
},
{
"name": "composer/semver",
- "version": "3.4.3",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/composer/semver.git",
- "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12"
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
- "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12",
+ "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^1.11",
- "symfony/phpunit-bridge": "^3 || ^7"
+ "phpstan/phpstan": "^1.4",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"extra": {
@@ -314,7 +181,7 @@
"support": {
"irc": "ircs://irc.libera.chat:6697/composer",
"issues": "https://github.com/composer/semver/issues",
- "source": "https://github.com/composer/semver/tree/3.4.3"
+ "source": "https://github.com/composer/semver/tree/3.4.0"
},
"funding": [
{
@@ -330,30 +197,30 @@
"type": "tidelift"
}
],
- "time": "2024-09-19T14:15:21+00:00"
+ "time": "2023-08-31T09:50:34+00:00"
},
{
"name": "filp/whoops",
- "version": "2.17.0",
+ "version": "2.15.4",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "075bc0c26631110584175de6523ab3f1652eb28e"
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/075bc0c26631110584175de6523ab3f1652eb28e",
- "reference": "075bc0c26631110584175de6523ab3f1652eb28e",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0",
+ "php": "^5.5.9 || ^7.0 || ^8.0",
"psr/log": "^1.0.1 || ^2.0 || ^3.0"
},
"require-dev": {
- "mockery/mockery": "^1.0",
- "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3",
- "symfony/var-dumper": "^4.0 || ^5.0"
+ "mockery/mockery": "^0.9 || ^1.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
},
"suggest": {
"symfony/var-dumper": "Pretty print complex values better with var-dumper available",
@@ -393,7 +260,7 @@
],
"support": {
"issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.17.0"
+ "source": "https://github.com/filp/whoops/tree/2.15.4"
},
"funding": [
{
@@ -401,26 +268,26 @@
"type": "github"
}
],
- "time": "2025-01-25T12:00:00+00:00"
+ "time": "2023-11-03T12:00:00+00:00"
},
{
"name": "getkirby/cms",
- "version": "4.6.0",
+ "version": "4.1.2",
"source": {
"type": "git",
"url": "https://github.com/getkirby/kirby.git",
- "reference": "994556ca78eab3c11415702870b6388e8472addc"
+ "reference": "6b7ac66c55ecac20d6b580ef01a667d1806d5c72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/getkirby/kirby/zipball/994556ca78eab3c11415702870b6388e8472addc",
- "reference": "994556ca78eab3c11415702870b6388e8472addc",
+ "url": "https://api.github.com/repos/getkirby/kirby/zipball/6b7ac66c55ecac20d6b580ef01a667d1806d5c72",
+ "reference": "6b7ac66c55ecac20d6b580ef01a667d1806d5c72",
"shasum": ""
},
"require": {
"christian-riesen/base32": "1.6.0",
- "claviska/simpleimage": "4.2.1",
- "composer/semver": "3.4.3",
+ "claviska/simpleimage": "4.0.6",
+ "composer/semver": "3.4.0",
"ext-ctype": "*",
"ext-curl": "*",
"ext-dom": "*",
@@ -432,15 +299,15 @@
"ext-mbstring": "*",
"ext-openssl": "*",
"ext-simplexml": "*",
- "filp/whoops": "2.17.0",
+ "filp/whoops": "2.15.4",
"getkirby/composer-installer": "^1.2.1",
- "laminas/laminas-escaper": "2.15.0",
+ "laminas/laminas-escaper": "2.13.0",
"michelf/php-smartypants": "1.8.1",
- "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0",
- "phpmailer/phpmailer": "6.9.3",
- "symfony/polyfill-intl-idn": "1.31.0",
- "symfony/polyfill-mbstring": "1.31.0",
- "symfony/yaml": "6.4.18"
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0",
+ "phpmailer/phpmailer": "6.9.1",
+ "symfony/polyfill-intl-idn": "1.28.0",
+ "symfony/polyfill-mbstring": "1.28.0",
+ "symfony/yaml": "6.4.0"
},
"replace": {
"symfony/polyfill-php72": "*"
@@ -504,7 +371,7 @@
"type": "custom"
}
],
- "time": "2025-01-30T11:02:53+00:00"
+ "time": "2024-03-06T11:38:42+00:00"
},
{
"name": "getkirby/composer-installer",
@@ -553,556 +420,35 @@
],
"time": "2020-12-28T12:54:39+00:00"
},
- {
- "name": "guzzlehttp/guzzle",
- "version": "7.9.2",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
- "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
- "guzzlehttp/psr7": "^2.7.0",
- "php": "^7.2.5 || ^8.0",
- "psr/http-client": "^1.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
- },
- "provide": {
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "ext-curl": "*",
- "guzzle/client-integration-tests": "3.0.2",
- "php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20",
- "psr/log": "^1.1 || ^2.0 || ^3.0"
- },
- "suggest": {
- "ext-curl": "Required for CURL handler support",
- "ext-intl": "Required for Internationalized Domain Name (IDN) support",
- "psr/log": "Required for using the Log middleware"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "GuzzleHttp\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Jeremy Lindblom",
- "email": "jeremeamia@gmail.com",
- "homepage": "https://github.com/jeremeamia"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://github.com/sagikazarmark"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "Guzzle is a PHP HTTP client library",
- "keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "psr-18",
- "psr-7",
- "rest",
- "web service"
- ],
- "support": {
- "issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-24T11:22:20+00:00"
- },
- {
- "name": "guzzlehttp/promises",
- "version": "2.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
- "reference": "f9c436286ab2892c7db7be8c8da4ef61ccf7b455",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "support": {
- "issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
- "type": "tidelift"
- }
- ],
- "time": "2024-10-17T10:06:22+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "2.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
- "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
- "shasum": ""
- },
- "require": {
- "php": "^7.2.5 || ^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.1 || ^2.0",
- "ralouphie/getallheaders": "^3.0"
- },
- "provide": {
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "0.9.0",
- "phpunit/phpunit": "^8.5.39 || ^9.6.20"
- },
- "suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
- },
- "type": "library",
- "extra": {
- "bamarni-bin": {
- "bin-links": true,
- "forward-command": false
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://github.com/sagikazarmark"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.7.0"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
- "type": "tidelift"
- }
- ],
- "time": "2024-07-18T11:15:46+00:00"
- },
- {
- "name": "illuminate/collections",
- "version": "v11.41.3",
- "source": {
- "type": "git",
- "url": "https://github.com/illuminate/collections.git",
- "reference": "80c85f81573cc4c024da05312119f9149a6b64c1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/illuminate/collections/zipball/80c85f81573cc4c024da05312119f9149a6b64c1",
- "reference": "80c85f81573cc4c024da05312119f9149a6b64c1",
- "shasum": ""
- },
- "require": {
- "illuminate/conditionable": "^11.0",
- "illuminate/contracts": "^11.0",
- "illuminate/macroable": "^11.0",
- "php": "^8.2"
- },
- "suggest": {
- "symfony/var-dumper": "Required to use the dump method (^7.0)."
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "11.x-dev"
- }
- },
- "autoload": {
- "files": [
- "functions.php",
- "helpers.php"
- ],
- "psr-4": {
- "Illuminate\\Support\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "The Illuminate Collections package.",
- "homepage": "https://laravel.com",
- "support": {
- "issues": "https://github.com/laravel/framework/issues",
- "source": "https://github.com/laravel/framework"
- },
- "time": "2025-01-24T15:40:32+00:00"
- },
- {
- "name": "illuminate/conditionable",
- "version": "v11.41.3",
- "source": {
- "type": "git",
- "url": "https://github.com/illuminate/conditionable.git",
- "reference": "911df1bda950a3b799cf80671764e34eede131c6"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/illuminate/conditionable/zipball/911df1bda950a3b799cf80671764e34eede131c6",
- "reference": "911df1bda950a3b799cf80671764e34eede131c6",
- "shasum": ""
- },
- "require": {
- "php": "^8.0.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "11.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Illuminate\\Support\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "The Illuminate Conditionable package.",
- "homepage": "https://laravel.com",
- "support": {
- "issues": "https://github.com/laravel/framework/issues",
- "source": "https://github.com/laravel/framework"
- },
- "time": "2024-11-21T16:28:56+00:00"
- },
- {
- "name": "illuminate/contracts",
- "version": "v11.41.3",
- "source": {
- "type": "git",
- "url": "https://github.com/illuminate/contracts.git",
- "reference": "534b697fc1dd9fbdd9fbf2f33fc9dcbb943dea75"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/illuminate/contracts/zipball/534b697fc1dd9fbdd9fbf2f33fc9dcbb943dea75",
- "reference": "534b697fc1dd9fbdd9fbf2f33fc9dcbb943dea75",
- "shasum": ""
- },
- "require": {
- "php": "^8.2",
- "psr/container": "^1.1.1|^2.0.1",
- "psr/simple-cache": "^1.0|^2.0|^3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "11.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Illuminate\\Contracts\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "The Illuminate Contracts package.",
- "homepage": "https://laravel.com",
- "support": {
- "issues": "https://github.com/laravel/framework/issues",
- "source": "https://github.com/laravel/framework"
- },
- "time": "2025-01-10T20:57:00+00:00"
- },
- {
- "name": "illuminate/macroable",
- "version": "v11.41.3",
- "source": {
- "type": "git",
- "url": "https://github.com/illuminate/macroable.git",
- "reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/illuminate/macroable/zipball/e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed",
- "reference": "e1cb9e51b9ed5d3c9bc1ab431d0a52fe42a990ed",
- "shasum": ""
- },
- "require": {
- "php": "^8.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "11.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Illuminate\\Support\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Taylor Otwell",
- "email": "taylor@laravel.com"
- }
- ],
- "description": "The Illuminate Macroable package.",
- "homepage": "https://laravel.com",
- "support": {
- "issues": "https://github.com/laravel/framework/issues",
- "source": "https://github.com/laravel/framework"
- },
- "time": "2024-06-28T20:10:30+00:00"
- },
{
"name": "laminas/laminas-escaper",
- "version": "2.15.0",
+ "version": "2.13.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
- "reference": "c612b0488ae486284c39885efca494c180f16351"
+ "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/c612b0488ae486284c39885efca494c180f16351",
- "reference": "c612b0488ae486284c39885efca494c180f16351",
+ "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/af459883f4018d0f8a0c69c7a209daef3bf973ba",
+ "reference": "af459883f4018d0f8a0c69c7a209daef3bf973ba",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-mbstring": "*",
- "php": "~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0"
+ "php": "~8.1.0 || ~8.2.0 || ~8.3.0"
},
"conflict": {
"zendframework/zend-escaper": "*"
},
"require-dev": {
- "infection/infection": "^0.27.11",
- "laminas/laminas-coding-standard": "~3.0.1",
+ "infection/infection": "^0.27.0",
+ "laminas/laminas-coding-standard": "~2.5.0",
"maglnet/composer-require-checker": "^3.8.0",
- "phpunit/phpunit": "^9.6.22",
- "psalm/plugin-phpunit": "^0.19.0",
- "vimeo/psalm": "^5.26.1"
+ "phpunit/phpunit": "^9.6.7",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "vimeo/psalm": "^5.9"
},
"type": "library",
"autoload": {
@@ -1134,7 +480,7 @@
"type": "community_bridge"
}
],
- "time": "2024-12-17T19:39:54+00:00"
+ "time": "2023-10-10T08:35:13+00:00"
},
{
"name": "league/color-extractor",
@@ -1197,73 +543,6 @@
},
"time": "2022-09-24T15:57:16+00:00"
},
- {
- "name": "mailersend/mailersend",
- "version": "v0.28.0",
- "source": {
- "type": "git",
- "url": "https://github.com/mailersend/mailersend-php.git",
- "reference": "e91977866825ca7b26cec23ebf38759a051c3c07"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/mailersend/mailersend-php/zipball/e91977866825ca7b26cec23ebf38759a051c3c07",
- "reference": "e91977866825ca7b26cec23ebf38759a051c3c07",
- "shasum": ""
- },
- "require": {
- "beberlei/assert": "^3.2",
- "ext-json": "*",
- "illuminate/collections": "^8.0 || ^9.0 || ^10.0 || ^11.0",
- "php": "^7.4|^8.0",
- "php-http/client-common": "^2.2",
- "php-http/discovery": "^1.9",
- "php-http/httplug": "^2.1",
- "psr/http-client-implementation": "^1.0",
- "psr/http-message": "^1.0 || ^2.0",
- "symfony/options-resolver": "^4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.4.0",
- "guzzlehttp/psr7": "^1.5.2",
- "http-interop/http-factory-guzzle": "^1.0",
- "mockery/mockery": "^0.9.4",
- "php-http/guzzle7-adapter": "^0.1 || ^1.0",
- "php-http/message": "^1.0",
- "php-http/mock-client": "^1.0",
- "phpunit/phpunit": "^7.5.15 || ^8.4 || ^9.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "MailerSend\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tautvydas Tijūnaitis",
- "email": "tautvydas@mailersend.com",
- "homepage": "https://mailersend.com",
- "role": "Developer"
- }
- ],
- "description": "MailerSend PHP SDK",
- "homepage": "https://github.com/mailersend/mailersend-php",
- "keywords": [
- "email",
- "mailersend",
- "transactional"
- ],
- "support": {
- "issues": "https://github.com/mailersend/mailersend-php/issues",
- "source": "https://github.com/mailersend/mailersend-php/tree/v0.28.0"
- },
- "time": "2024-11-25T15:35:57+00:00"
- },
{
"name": "michelf/php-smartypants",
"version": "1.8.1",
@@ -1318,481 +597,18 @@
},
"time": "2016-12-13T01:01:17+00:00"
},
- {
- "name": "nyholm/psr7",
- "version": "1.8.2",
- "source": {
- "type": "git",
- "url": "https://github.com/Nyholm/psr7.git",
- "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3",
- "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.1 || ^2.0"
- },
- "provide": {
- "php-http/message-factory-implementation": "1.0",
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "http-interop/http-factory-tests": "^0.9",
- "php-http/message-factory": "^1.0",
- "php-http/psr7-integration-tests": "^1.0",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4",
- "symfony/error-handler": "^4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.8-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Nyholm\\Psr7\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
- },
- {
- "name": "Martijn van der Ven",
- "email": "martijn@vanderven.se"
- }
- ],
- "description": "A fast PHP7 implementation of PSR-7",
- "homepage": "https://tnyholm.se",
- "keywords": [
- "psr-17",
- "psr-7"
- ],
- "support": {
- "issues": "https://github.com/Nyholm/psr7/issues",
- "source": "https://github.com/Nyholm/psr7/tree/1.8.2"
- },
- "funding": [
- {
- "url": "https://github.com/Zegnat",
- "type": "github"
- },
- {
- "url": "https://github.com/nyholm",
- "type": "github"
- }
- ],
- "time": "2024-09-09T07:06:30+00:00"
- },
- {
- "name": "php-http/client-common",
- "version": "2.7.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/client-common.git",
- "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46",
- "reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0",
- "php-http/httplug": "^2.0",
- "php-http/message": "^1.6",
- "psr/http-client": "^1.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0 || ^2.0",
- "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0",
- "symfony/polyfill-php80": "^1.17"
- },
- "require-dev": {
- "doctrine/instantiator": "^1.1",
- "guzzlehttp/psr7": "^1.4",
- "nyholm/psr7": "^1.2",
- "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1",
- "phpspec/prophecy": "^1.10.2",
- "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7"
- },
- "suggest": {
- "ext-json": "To detect JSON responses with the ContentTypePlugin",
- "ext-libxml": "To detect XML responses with the ContentTypePlugin",
- "php-http/cache-plugin": "PSR-6 Cache plugin",
- "php-http/logger-plugin": "PSR-3 Logger plugin",
- "php-http/stopwatch-plugin": "Symfony Stopwatch plugin"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Client\\Common\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Common HTTP Client implementations and tools for HTTPlug",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "common",
- "http",
- "httplug"
- ],
- "support": {
- "issues": "https://github.com/php-http/client-common/issues",
- "source": "https://github.com/php-http/client-common/tree/2.7.2"
- },
- "time": "2024-09-24T06:21:48+00:00"
- },
- {
- "name": "php-http/discovery",
- "version": "1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/discovery.git",
- "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d",
- "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.0|^2.0",
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "nyholm/psr7": "<1.0",
- "zendframework/zend-diactoros": "*"
- },
- "provide": {
- "php-http/async-client-implementation": "*",
- "php-http/client-implementation": "*",
- "psr/http-client-implementation": "*",
- "psr/http-factory-implementation": "*",
- "psr/http-message-implementation": "*"
- },
- "require-dev": {
- "composer/composer": "^1.0.2|^2.0",
- "graham-campbell/phpspec-skip-example-extension": "^5.0",
- "php-http/httplug": "^1.0 || ^2.0",
- "php-http/message-factory": "^1.0",
- "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
- "sebastian/comparator": "^3.0.5 || ^4.0.8",
- "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "Http\\Discovery\\Composer\\Plugin",
- "plugin-optional": true
- },
- "autoload": {
- "psr-4": {
- "Http\\Discovery\\": "src/"
- },
- "exclude-from-classmap": [
- "src/Composer/Plugin.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations",
- "homepage": "http://php-http.org",
- "keywords": [
- "adapter",
- "client",
- "discovery",
- "factory",
- "http",
- "message",
- "psr17",
- "psr7"
- ],
- "support": {
- "issues": "https://github.com/php-http/discovery/issues",
- "source": "https://github.com/php-http/discovery/tree/1.20.0"
- },
- "time": "2024-10-02T11:20:13+00:00"
- },
- {
- "name": "php-http/guzzle7-adapter",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/guzzle7-adapter.git",
- "reference": "03a415fde709c2f25539790fecf4d9a31bc3d0eb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/guzzle7-adapter/zipball/03a415fde709c2f25539790fecf4d9a31bc3d0eb",
- "reference": "03a415fde709c2f25539790fecf4d9a31bc3d0eb",
- "shasum": ""
- },
- "require": {
- "guzzlehttp/guzzle": "^7.0",
- "php": "^7.3 | ^8.0",
- "php-http/httplug": "^2.0",
- "psr/http-client": "^1.0"
- },
- "provide": {
- "php-http/async-client-implementation": "1.0",
- "php-http/client-implementation": "1.0",
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "php-http/client-integration-tests": "^3.0",
- "php-http/message-factory": "^1.1",
- "phpspec/prophecy-phpunit": "^2.0",
- "phpunit/phpunit": "^8.0|^9.3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Adapter\\Guzzle7\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
- }
- ],
- "description": "Guzzle 7 HTTP Adapter",
- "homepage": "http://httplug.io",
- "keywords": [
- "Guzzle",
- "http"
- ],
- "support": {
- "issues": "https://github.com/php-http/guzzle7-adapter/issues",
- "source": "https://github.com/php-http/guzzle7-adapter/tree/1.1.0"
- },
- "time": "2024-11-26T11:14:36+00:00"
- },
- {
- "name": "php-http/httplug",
- "version": "2.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/httplug.git",
- "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4",
- "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0",
- "php-http/promise": "^1.1",
- "psr/http-client": "^1.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "require-dev": {
- "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0",
- "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Eric GELOEN",
- "email": "geloen.eric@gmail.com"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
- }
- ],
- "description": "HTTPlug, the HTTP client abstraction for PHP",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "http"
- ],
- "support": {
- "issues": "https://github.com/php-http/httplug/issues",
- "source": "https://github.com/php-http/httplug/tree/2.4.1"
- },
- "time": "2024-09-23T11:39:58+00:00"
- },
- {
- "name": "php-http/message",
- "version": "1.16.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/message.git",
- "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a",
- "reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a",
- "shasum": ""
- },
- "require": {
- "clue/stream-filter": "^1.5",
- "php": "^7.2 || ^8.0",
- "psr/http-message": "^1.1 || ^2.0"
- },
- "provide": {
- "php-http/message-factory-implementation": "1.0"
- },
- "require-dev": {
- "ergebnis/composer-normalize": "^2.6",
- "ext-zlib": "*",
- "guzzlehttp/psr7": "^1.0 || ^2.0",
- "laminas/laminas-diactoros": "^2.0 || ^3.0",
- "php-http/message-factory": "^1.0.2",
- "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1",
- "slim/slim": "^3.0"
- },
- "suggest": {
- "ext-zlib": "Used with compressor/decompressor streams",
- "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories",
- "laminas/laminas-diactoros": "Used with Diactoros Factories",
- "slim/slim": "Used with Slim Framework PSR-7 implementation"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/filters.php"
- ],
- "psr-4": {
- "Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "HTTP Message related tools",
- "homepage": "http://php-http.org",
- "keywords": [
- "http",
- "message",
- "psr-7"
- ],
- "support": {
- "issues": "https://github.com/php-http/message/issues",
- "source": "https://github.com/php-http/message/tree/1.16.2"
- },
- "time": "2024-10-02T11:34:13+00:00"
- },
- {
- "name": "php-http/promise",
- "version": "1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/promise.git",
- "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
- "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3",
- "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Promise\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Joel Wurtz",
- "email": "joel.wurtz@gmail.com"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Promise used for asynchronous HTTP requests",
- "homepage": "http://httplug.io",
- "keywords": [
- "promise"
- ],
- "support": {
- "issues": "https://github.com/php-http/promise/issues",
- "source": "https://github.com/php-http/promise/tree/1.3.1"
- },
- "time": "2024-03-15T13:55:21+00:00"
- },
{
"name": "phpmailer/phpmailer",
- "version": "v6.9.3",
+ "version": "v6.9.1",
"source": {
"type": "git",
"url": "https://github.com/PHPMailer/PHPMailer.git",
- "reference": "2f5c94fe7493efc213f643c23b1b1c249d40f47e"
+ "reference": "039de174cd9c17a8389754d3b877a2ed22743e18"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/2f5c94fe7493efc213f643c23b1b1c249d40f47e",
- "reference": "2f5c94fe7493efc213f643c23b1b1c249d40f47e",
+ "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18",
+ "reference": "039de174cd9c17a8389754d3b877a2ed22743e18",
"shasum": ""
},
"require": {
@@ -1852,7 +668,7 @@
"description": "PHPMailer is a full-featured email creation and transfer class for PHP",
"support": {
"issues": "https://github.com/PHPMailer/PHPMailer/issues",
- "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.3"
+ "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1"
},
"funding": [
{
@@ -1860,233 +676,20 @@
"type": "github"
}
],
- "time": "2024-11-24T18:04:13+00:00"
- },
- {
- "name": "psr/container",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
- "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
- "shasum": ""
- },
- "require": {
- "php": ">=7.4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Container\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common Container Interface (PHP FIG PSR-11)",
- "homepage": "https://github.com/php-fig/container",
- "keywords": [
- "PSR-11",
- "container",
- "container-interface",
- "container-interop",
- "psr"
- ],
- "support": {
- "issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/2.0.2"
- },
- "time": "2021-11-05T16:47:00+00:00"
- },
- {
- "name": "psr/http-client",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP clients",
- "homepage": "https://github.com/php-fig/http-client",
- "keywords": [
- "http",
- "http-client",
- "psr",
- "psr-18"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-client"
- },
- "time": "2023-09-23T14:17:50+00:00"
- },
- {
- "name": "psr/http-factory",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
- "keywords": [
- "factory",
- "http",
- "message",
- "psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-factory"
- },
- "time": "2024-04-15T12:06:14+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71",
- "shasum": ""
- },
- "require": {
- "php": "^7.2 || ^8.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-message/tree/2.0"
- },
- "time": "2023-04-04T09:54:51+00:00"
+ "time": "2023-11-25T22:23:28+00:00"
},
{
"name": "psr/log",
- "version": "3.0.2",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3"
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
- "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
@@ -2121,228 +724,22 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/3.0.2"
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
},
- "time": "2024-09-11T13:17:53+00:00"
- },
- {
- "name": "psr/simple-cache",
- "version": "3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
- "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\SimpleCache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
- "support": {
- "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
- },
- "time": "2021-10-29T13:26:27+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
- },
- "time": "2019-03-08T08:55:37+00:00"
- },
- {
- "name": "spatie/schema-org",
- "version": "3.23.1",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/schema-org.git",
- "reference": "a8dc1b6fcdd06afc1ab084c3ead9b7a4c3d7a35d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/schema-org/zipball/a8dc1b6fcdd06afc1ab084c3ead9b7a4c3d7a35d",
- "reference": "a8dc1b6fcdd06afc1ab084c3ead9b7a4c3d7a35d",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "php": "^8.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.6",
- "graham-campbell/analyzer": "^4.2",
- "illuminate/collections": "^8.62.0",
- "league/flysystem": "^2.3.0 || ^3.0",
- "pestphp/pest": "^1.21",
- "symfony/console": "^5.3.7 || 6.0",
- "twig/twig": "^3.3.3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\SchemaOrg\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sebastian De Deyne",
- "email": "sebastian@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- },
- {
- "name": "Tom Witkowski",
- "email": "dev.gummibeer@gmail.com",
- "homepage": "https://gummibeer.de",
- "role": "Developer"
- }
- ],
- "description": "A fluent builder Schema.org types and ld+json generator",
- "homepage": "https://github.com/spatie/schema-org",
- "keywords": [
- "schema-org",
- "spatie"
- ],
- "support": {
- "issues": "https://github.com/spatie/schema-org/issues",
- "source": "https://github.com/spatie/schema-org/tree/3.23.1"
- },
- "funding": [
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "custom"
- },
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2025-01-31T14:54:12+00:00"
- },
- {
- "name": "sylvainjule/code-editor",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sylvainjule/kirby-code-editor.git",
- "reference": "9795565acbf64f92c46423ed4cb5c94bb8a738ea"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sylvainjule/kirby-code-editor/zipball/9795565acbf64f92c46423ed4cb5c94bb8a738ea",
- "reference": "9795565acbf64f92c46423ed4cb5c94bb8a738ea",
- "shasum": ""
- },
- "require": {
- "getkirby/composer-installer": "^1.1"
- },
- "type": "kirby-plugin",
- "extra": {
- "installer-name": "code-editor"
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sylvain Julé",
- "email": "contact@sylvain-jule.fr"
- }
- ],
- "description": "Code editor field for Kirby 3 and 4",
- "support": {
- "issues": "https://github.com/sylvainjule/kirby-code-editor/issues",
- "source": "https://github.com/sylvainjule/kirby-code-editor/tree/1.0.3"
- },
- "time": "2024-03-06T18:19:23+00:00"
+ "time": "2021-07-14T16:46:02+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.5.1",
+ "version": "v3.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
- "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
"shasum": ""
},
"require": {
@@ -2350,12 +747,12 @@
},
"type": "library",
"extra": {
- "thanks": {
- "url": "https://github.com/symfony/contracts",
- "name": "symfony/contracts"
- },
"branch-alias": {
- "dev-main": "3.5-dev"
+ "dev-main": "3.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
@@ -2380,7 +777,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
},
"funding": [
{
@@ -2396,264 +793,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
- },
- {
- "name": "symfony/http-client",
- "version": "v7.2.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-client.git",
- "reference": "7ce6078c79a4a7afff931c413d2959d3bffbfb8d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/7ce6078c79a4a7afff931c413d2959d3bffbfb8d",
- "reference": "7ce6078c79a4a7afff931c413d2959d3bffbfb8d",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-client-contracts": "~3.4.4|^3.5.2",
- "symfony/service-contracts": "^2.5|^3"
- },
- "conflict": {
- "amphp/amp": "<2.5",
- "php-http/discovery": "<1.15",
- "symfony/http-foundation": "<6.4"
- },
- "provide": {
- "php-http/async-client-implementation": "*",
- "php-http/client-implementation": "*",
- "psr/http-client-implementation": "1.0",
- "symfony/http-client-implementation": "3.0"
- },
- "require-dev": {
- "amphp/http-client": "^4.2.1|^5.0",
- "amphp/http-tunnel": "^1.0|^2.0",
- "amphp/socket": "^1.1",
- "guzzlehttp/promises": "^1.4|^2.0",
- "nyholm/psr7": "^1.0",
- "php-http/httplug": "^1.0|^2.0",
- "psr/http-client": "^1.0",
- "symfony/amphp-http-client-meta": "^1.0|^2.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/messenger": "^6.4|^7.0",
- "symfony/process": "^6.4|^7.0",
- "symfony/rate-limiter": "^6.4|^7.0",
- "symfony/stopwatch": "^6.4|^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\HttpClient\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
- "homepage": "https://symfony.com",
- "keywords": [
- "http"
- ],
- "support": {
- "source": "https://github.com/symfony/http-client/tree/v7.2.3"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2025-01-28T15:51:35+00:00"
- },
- {
- "name": "symfony/http-client-contracts",
- "version": "v3.5.2",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ee8d807ab20fcb51267fdace50fbe3494c31e645",
- "reference": "ee8d807ab20fcb51267fdace50fbe3494c31e645",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/contracts",
- "name": "symfony/contracts"
- },
- "branch-alias": {
- "dev-main": "3.5-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\HttpClient\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to HTTP clients",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.2"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-12-07T08:49:48+00:00"
- },
- {
- "name": "symfony/options-resolver",
- "version": "v7.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50",
- "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Provides an improved replacement for the array_replace PHP function",
- "homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
- "support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.2.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-11-20T11:17:29+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.31.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638"
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638",
- "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
"shasum": ""
},
"require": {
- "php": ">=7.2"
+ "php": ">=7.1"
},
"provide": {
"ext-ctype": "*"
@@ -2664,8 +821,8 @@
"type": "library",
"extra": {
"thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
@@ -2699,7 +856,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
},
"funding": [
{
@@ -2715,34 +872,38 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.31.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773"
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773",
- "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
"shasum": ""
},
"require": {
- "php": ">=7.2",
- "symfony/polyfill-intl-normalizer": "^1.10"
+ "php": ">=7.1",
+ "symfony/polyfill-intl-normalizer": "^1.10",
+ "symfony/polyfill-php72": "^1.10"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
"thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
@@ -2782,7 +943,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
},
"funding": [
{
@@ -2798,24 +959,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2023-01-26T09:30:37+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.31.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c"
+ "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
- "reference": "3833d7255cc303546435cb650316bff708a1c75c",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
+ "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
"shasum": ""
},
"require": {
- "php": ">=7.2"
+ "php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
@@ -2823,8 +984,8 @@
"type": "library",
"extra": {
"thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
@@ -2863,7 +1024,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
},
"funding": [
{
@@ -2879,24 +1040,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.31.0",
+ "version": "v1.28.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
+ "reference": "42292d99c55abe617799667f454222c54c60e229"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
- "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+ "reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": ""
},
"require": {
- "php": ">=7.2"
+ "php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
@@ -2906,9 +1067,12 @@
},
"type": "library",
"extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
"thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
@@ -2943,7 +1107,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
},
"funding": [
{
@@ -2959,183 +1123,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
- },
- {
- "name": "symfony/polyfill-php80",
- "version": "v1.31.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
- "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
- "shasum": ""
- },
- "require": {
- "php": ">=7.2"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-09T11:45:10+00:00"
- },
- {
- "name": "symfony/service-contracts",
- "version": "v3.5.1",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
- "reference": "e53260aabf78fb3d63f8d79d69ece59f80d5eda0",
- "shasum": ""
- },
- "require": {
- "php": ">=8.1",
- "psr/container": "^1.1|^2.0",
- "symfony/deprecation-contracts": "^2.5|^3"
- },
- "conflict": {
- "ext-psr": "<1.1|>=2"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/contracts",
- "name": "symfony/contracts"
- },
- "branch-alias": {
- "dev-main": "3.5-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- },
- "exclude-from-classmap": [
- "/Test/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.5.1"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2023-07-28T09:04:16+00:00"
},
{
"name": "symfony/yaml",
- "version": "v6.4.18",
+ "version": "v6.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "bf598c9d9bb4a22f495a4e26e4c4fce2f8ecefc5"
+ "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/bf598c9d9bb4a22f495a4e26e4c4fce2f8ecefc5",
- "reference": "bf598c9d9bb4a22f495a4e26e4c4fce2f8ecefc5",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587",
+ "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587",
"shasum": ""
},
"require": {
@@ -3178,7 +1179,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v6.4.18"
+ "source": "https://github.com/symfony/yaml/tree/v6.4.0"
},
"funding": [
{
@@ -3194,64 +1195,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-07T09:44:41+00:00"
- },
- {
- "name": "tobimori/kirby-seo",
- "version": "1.1.2",
- "source": {
- "type": "git",
- "url": "https://github.com/tobimori/kirby-seo.git",
- "reference": "a06eb676f699797fdd04a515149559ffd4746be7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/tobimori/kirby-seo/zipball/a06eb676f699797fdd04a515149559ffd4746be7",
- "reference": "a06eb676f699797fdd04a515149559ffd4746be7",
- "shasum": ""
- },
- "require": {
- "getkirby/composer-installer": "^1.2.1",
- "php": ">=8.1.0",
- "spatie/schema-org": "^3.14"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.48",
- "getkirby/cli": "^1.2",
- "getkirby/cms": "^4.0"
- },
- "type": "kirby-plugin",
- "extra": {
- "kirby-cms-path": false
- },
- "autoload": {
- "psr-4": {
- "tobimori\\Seo\\": "classes"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tobias Möritz",
- "email": "tobias@moeritz.io"
- }
- ],
- "description": "The ultimate Kirby SEO toolkit",
- "homepage": "https://github.com/tobimori/kirby-seo#readme",
- "support": {
- "issues": "https://github.com/tobimori/kirby-seo/issues",
- "source": "https://github.com/tobimori/kirby-seo/tree/1.1.2"
- },
- "funding": [
- {
- "url": "https://github.com/tobimori",
- "type": "github"
- }
- ],
- "time": "2024-04-10T09:49:19+00:00"
+ "time": "2023-11-06T11:00:25+00:00"
}
],
"packages-dev": [],
@@ -3264,8 +1208,5 @@
"php": "~8.1.0 || ~8.2.0 || ~8.3.0"
},
"platform-dev": [],
- "platform-overrides": {
- "php": "8.3.0"
- },
"plugin-api-version": "2.6.0"
}
diff --git a/favicon-96x96.png b/favicon-96x96.png
deleted file mode 100644
index 903441a..0000000
Binary files a/favicon-96x96.png and /dev/null differ
diff --git a/favicon.ico b/favicon.ico
deleted file mode 100644
index 37bc881..0000000
Binary files a/favicon.ico and /dev/null differ
diff --git a/favicon.svg b/favicon.svg
deleted file mode 100644
index b197d82..0000000
--- a/favicon.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
\ No newline at end of file
diff --git a/site.webmanifest b/site.webmanifest
deleted file mode 100644
index fb5c8ae..0000000
--- a/site.webmanifest
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "name": "actuel-inactuel",
- "short_name": "a-i",
- "icons": [
- {
- "src": "/web-app-manifest-192x192.png",
- "sizes": "192x192",
- "type": "image/png",
- "purpose": "maskable"
- },
- {
- "src": "/web-app-manifest-512x512.png",
- "sizes": "512x512",
- "type": "image/png",
- "purpose": "maskable"
- }
- ],
- "theme_color": "#000000",
- "background_color": "#000000",
- "display": "standalone"
-}
\ No newline at end of file
diff --git a/site/blueprints/fields/body.yml b/site/blueprints/fields/body.yml
deleted file mode 100644
index 94ab6af..0000000
--- a/site/blueprints/fields/body.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-label: Corps
-type: writer
-headings:
- - 3
-marks:
- - bold
- - italic
- - link
diff --git a/site/blueprints/pages/author.yml b/site/blueprints/pages/author.yml
index 7860b89..bbe1921 100644
--- a/site/blueprints/pages/author.yml
+++ b/site/blueprints/pages/author.yml
@@ -9,16 +9,11 @@ tabs:
type: fields
fields:
presentation:
- extends: fields/body
label: Présentation
- help: |
- Optionnelle, sans mention du poste. Peut inclure un lien.
- Exemple : "Co-fondateur des éditions [Athom](http://www.athom.xyz/)."
+ type: writer
+ help: Optionnelle
texts:
label: Textes
type: pages
create: false
query: page.getTexts()
- seo:
- extends: seo/page
- label: Indexation
diff --git a/site/blueprints/pages/authors.yml b/site/blueprints/pages/authors.yml
index 3ac73b3..3231859 100644
--- a/site/blueprints/pages/authors.yml
+++ b/site/blueprints/pages/authors.yml
@@ -7,6 +7,3 @@ tabs:
label: Liste
type: pages
template: author
- seo:
- extends: seo/page
- label: Indexation
diff --git a/site/blueprints/pages/email.yml b/site/blueprints/pages/email.yml
index d62e459..3897d39 100644
--- a/site/blueprints/pages/email.yml
+++ b/site/blueprints/pages/email.yml
@@ -6,41 +6,21 @@ image:
back: black
color: white
icon: email
+options:
+ changeStatus: false
tabs:
contentTab:
- label: Contenu
- icon: text
- columns:
- - width: 1/1
- fields:
- body:
- label: Contenu
- type: writer
- sendTab:
- label: Envoi
- icon: plane
- columns:
- - width: 1/4
- fields:
- published:
- label: Date d'envoi
- type: date
- help: Automatiquement rempli au moment de l'envoi.
- disabled: true
- width: 1/2
- - width: 1/2
- fields:
- testAdressList:
- label: Liste d'adresses de test
- type: structure
- sortBy: email asc
- help: Le bouton "Tester" ci-dessous tentera d'envoyer l'email aux adresses de cette liste
- fields:
- email:
- type: email
- sendBtn:
- type: send-button
- seo:
- extends: seo/page
- label: Indexation
+ fields:
+ month:
+ label: Mois
+ type: date
+ display: "mmmm YYYY"
+ default: today
+ width: 1/4
+ sendBtn:
+ type: send-button
+ width: 1/4
+ content:
+ label: Contenu
+ type: writer
diff --git a/site/blueprints/pages/grid.yml b/site/blueprints/pages/grid.yml
index 414460c..53206c5 100644
--- a/site/blueprints/pages/grid.yml
+++ b/site/blueprints/pages/grid.yml
@@ -18,17 +18,6 @@ tabs:
fullWidth:
label: Pleine largeur
type: toggle
- subtitle:
- label: Sous-titre
- type: writer
- help: optionnel
- marks:
- - italic
- node: false
- chapo:
- label: Chapo
- extends: fields/body
- help: optionnel
body:
label: Corps
type: layout
@@ -42,9 +31,4 @@ tabs:
- image
- line
- quote
-
metaTab: tabs/meta
-
- seo:
- extends: seo/page
- label: Indexation
diff --git a/site/blueprints/pages/info.yml b/site/blueprints/pages/info.yml
index 67a9664..4b34ad9 100644
--- a/site/blueprints/pages/info.yml
+++ b/site/blueprints/pages/info.yml
@@ -15,7 +15,6 @@ tabs:
label: Corps
type: fields
fields:
- body: fields/body
- seo:
- extends: seo/page
- label: Indexation
+ body:
+ label: Corps
+ type: writer
diff --git a/site/blueprints/pages/linear.yml b/site/blueprints/pages/linear.yml
index e6cf2e5..a9e13d5 100644
--- a/site/blueprints/pages/linear.yml
+++ b/site/blueprints/pages/linear.yml
@@ -15,36 +15,7 @@ tabs:
label: Corps
type: fields
fields:
- subtitle:
- label: Sous-titre
- type: writer
- help: optionnel
- marks:
- - italic
- node: false
- chapo:
- label: Chapo
- extends: fields/body
- help: optionnel
body:
- extends: fields/body
- when:
- isHtmlMode: false
- htmlBody:
label: Corps
- type: textarea
- buttons:
- - headlines
- - bold
- - italic
- - link
- when:
- isHtmlMode: true
-
- paramsTab: tabs/params
-
+ type: writer
metaTab: tabs/meta
-
- seo:
- extends: seo/page
- label: Indexation
diff --git a/site/blueprints/pages/newsletter.yml b/site/blueprints/pages/newsletter.yml
index 080f2e5..8d9273b 100644
--- a/site/blueprints/pages/newsletter.yml
+++ b/site/blueprints/pages/newsletter.yml
@@ -3,26 +3,19 @@ title: Liste de diffusion
tabs:
content:
columns:
- - width: 1/1
- fields:
- body:
- extends: fields/body
- width: 1/2
fields:
subscribers:
label: Abonnés
type: structure
- sortBy: email asc
fields:
email:
type: email
- width: 1/2
sections:
newsletters:
- label: Lettres
+ label: Emails
type: pages
template: email
- info: "{{ page.status == 'listed' ? 'envoyée' : 'brouillon' }}"
- seo:
- extends: seo/page
- label: Indexation
+ info: "{{ page.month.toDate('M Y') }}"
+ sortBy: month desc
diff --git a/site/blueprints/pages/texts.yml b/site/blueprints/pages/texts.yml
index 8a3347b..c010564 100644
--- a/site/blueprints/pages/texts.yml
+++ b/site/blueprints/pages/texts.yml
@@ -1,30 +1,24 @@
title: texts
-tabs:
- contentTab:
- label: Contenu
- columns:
- - width: 1/2
- fields:
- categories:
- type: tags
- - width: 1/2
- sections:
- yearsSection:
- label: Années
- type: pages
- template: year
- sortBy: title desc
- - width: 1/1
- sections:
- allTextsSection:
- label: Tous les textes
- type: pages
- create: false
- search: true
- query: page.children.children
- info: "{{ page.author.toPage.title }} [{{ page.category }}]"
- sortBy: modified desc
- seo:
- extends: seo/page
- label: Indexation
+columns:
+ - width: 1/2
+ fields:
+ categories:
+ type: tags
+ - width: 1/2
+ sections:
+ yearsSection:
+ label: Années
+ type: pages
+ template: year
+ sortBy: title desc
+ - width: 1/1
+ sections:
+ allTextsSection:
+ label: Tous les textes
+ type: pages
+ create: false
+ search: true
+ query: page.children.children
+ info: "{{ page.author.toPage.title }} [{{ page.category }}]"
+ sortBy: modified desc
diff --git a/site/blueprints/pages/year.yml b/site/blueprints/pages/year.yml
index d0ad42e..dd1fc5e 100644
--- a/site/blueprints/pages/year.yml
+++ b/site/blueprints/pages/year.yml
@@ -4,30 +4,16 @@ image:
back: black
color: white
-tabs:
- contentTab:
- label: Contenu
- columns:
- - width: 1/3
- sections:
- fieldsSection:
- type: fields
- fields:
- openDate:
- label: Date d'ouverture
- type: date
- display: DD/MM/YYYY
- texts:
- label: Textes
- type: pages
- help: **Pour réorganiser les textes**, utiliser la poignée ⁝⁝ qui apparait au survol.
- templates:
- - linear
- - grid
- - width: 2/3
- fields:
- edito:
- type: writer
- seo:
- extends: seo/page
- label: Indexation
+columns:
+ - width: 1/3
+ sections:
+ texts:
+ label: Textes
+ type: pages
+ templates:
+ - linear
+ - grid
+ - width: 2/3
+ fields:
+ edito:
+ type: writer
diff --git a/site/blueprints/site.yml b/site/blueprints/site.yml
index 6ab1ccf..d9399f4 100644
--- a/site/blueprints/site.yml
+++ b/site/blueprints/site.yml
@@ -9,7 +9,6 @@ tabs:
type: writer
nodes: false
marks: false
- edito: fields/body
- seo:
- extends: seo/site
- label: Indexation
+ edito:
+ label: Éditorial
+ type: writer
diff --git a/site/blueprints/tabs/meta.yml b/site/blueprints/tabs/meta.yml
index 5836a3c..9ca2155 100644
--- a/site/blueprints/tabs/meta.yml
+++ b/site/blueprints/tabs/meta.yml
@@ -3,9 +3,6 @@ sections:
metadata:
type: fields
fields:
- keywords:
- label: Mots-clés
- type: tags
published:
label: Date de publication
type: date
diff --git a/site/blueprints/tabs/params.yml b/site/blueprints/tabs/params.yml
deleted file mode 100644
index b7379de..0000000
--- a/site/blueprints/tabs/params.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-label: Paramètres
-fields:
- isHtmlMode:
- label: Mode HTML
- type: toggle
- width: 1/3
- help: |
- Actif : le code HTML du corps sera exécuté.
- additionnalCss:
- label: CSS additionnel
- type: code-editor
- help: Le point de rupture mobile / ordinateur se situe à 640px.
- width: 2/3
diff --git a/site/blueprints/users/author.yml b/site/blueprints/users/author.yml
new file mode 100644
index 0000000..04e5565
--- /dev/null
+++ b/site/blueprints/users/author.yml
@@ -0,0 +1,25 @@
+title: Auteur
+description: Droits de lecture et écriture de certaines pages.
+image:
+ icon: pen
+ color: "#FFF"
+
+permissions:
+ access:
+ *: false
+ files:
+ *: false
+ languages:
+ *: false
+ pages:
+ *: false
+ site:
+ *: false
+ user:
+ *: false
+ users:
+ *: false
+
+fields:
+ presentation:
+ type: writer
diff --git a/site/collections/categories.php b/site/collections/categories.php
index 81ec8f6..b6e6c5e 100644
--- a/site/collections/categories.php
+++ b/site/collections/categories.php
@@ -1,28 +1,26 @@
categories()->split() as $categoryName) {
$category = new Page([
- 'slug' => Str::slug($categoryName),
+ 'slug' => Str::slug($categoryName),
'template' => 'category',
- 'status' => 'listed',
- 'content' => [
+ 'status' => 'listed',
+ 'content' => [
'title' => $categoryName,
],
- 'children' => [],
+ 'children' => []
]);
$categories->add($category);
- }
+ }
return $categories;
}
-function createCategories()
-{
+function createCategories() {
$emptyCategories = createEmptyCategories();
foreach (page('textes')->grandChildren() as $text) {
try {
diff --git a/site/config/config.php b/site/config/config.php
index 3b05f4d..b173029 100644
--- a/site/config/config.php
+++ b/site/config/config.php
@@ -1,29 +1,25 @@
true,
- 'panel' => [
+ 'panel' => array(
'menu' => require __DIR__ . '/menu.php',
- 'css' => 'assets/css/panel.css',
- ],
- 'mailerSendApiKey' => 'mlsn.0a9f20751951e3c2d130b1d6c3749b0a0f5b14f1c52da65a3369d658c736513c',
- 'email' => [
+ 'css' => 'assets/css/panel.css'
+ ),
+ 'email' => [
'transport' => [
- 'type' => 'smtp',
- 'host' => 'smtp.mailersend.net',
- 'port' => 587,
- 'security' => true,
- 'auth' => true,
- 'username' => 'MS_ncQ2K5@actuel-inactuel.fr',
- 'password' => 'mssp.ou3hOyX.z86org8y2kklew13.raOTfvP',
- ],
+ 'type' => 'smtp',
+ 'host' => 'smtp.outlook.com',
+ 'port' => 587,
+ 'security' => 'tls',
+ 'auth' => true,
+ 'username' => 'adrien.payet@outlook.com',
+ 'password' => 't8nVpxCpEZcqH8y'
+ ]
],
- 'routes' => [
+ 'routes' => array(
+ require __DIR__ . '/routes/virtual-author.php',
require __DIR__ . '/routes/virtual-category.php',
- require __DIR__ . '/routes/subscribe.php',
- require __DIR__ . '/routes/virtual-pending.php',
- ],
- 'hooks' => [
- 'page.create:after' => require __DIR__ . '/hooks/prefill-test-adress-list.php',
- ],
-];
+ require __DIR__ . '/routes/send-newsletter.php',
+ ),
+);
diff --git a/site/config/hooks/prefill-test-adress-list.php b/site/config/hooks/prefill-test-adress-list.php
deleted file mode 100644
index f28dc3d..0000000
--- a/site/config/hooks/prefill-test-adress-list.php
+++ /dev/null
@@ -1,17 +0,0 @@
-template() == 'email') {
- $list = [
- ['email' => 'fournelcecile@yahoo.fr'],
- ['email' => 'payet.adrien@protonmail.com'],
- ['email' => 'mazet.zaccardelli@free.fr'],
- ['email' => 'wafaabida@hotmail.com'],
- ['email' => 'elisegarraud@yahoo.fr'],
- ['email' => 'pierre-damien.huyghe@univ-paris1.fr'],
- ];
- $page->update([
- 'testAdressList' => Yaml::encode($list),
- ]);
- }
-};
diff --git a/site/config/menu.php b/site/config/menu.php
index 5b57f01..aa2c6cb 100644
--- a/site/config/menu.php
+++ b/site/config/menu.php
@@ -2,62 +2,62 @@
return [
'site' => [
- 'label' => 'Accueil',
+ 'label' => 'Accueil',
'current' => function ($current) {
$path = Kirby::instance()->request()->path()->toString();
return Str::contains($path, 'site');
- },
+ }
],
'texts' => [
- 'icon' => 'pen',
- 'label' => 'Textes',
- 'link' => 'pages/textes',
+ 'icon' => 'pen',
+ 'label' => 'Textes',
+ 'link' => 'pages/textes',
'current' => function ($current) {
$path = Kirby::instance()->request()->path()->toString();
return Str::contains($path, 'pages/textes');
- },
+ }
],
'authors' => [
- 'icon' => 'users',
- 'label' => 'Auteurs',
- 'link' => 'pages/auteurs',
+ 'icon' => 'users',
+ 'label' => 'Auteurs',
+ 'link' => 'pages/auteurs',
'current' => function ($current) {
- $path = Kirby::instance()->request()->path()->toString();
- return Str::contains($path, 'pages/auteurs');
- },
+ $path = Kirby::instance()->request()->path()->toString();
+ return Str::contains($path, 'pages/auteurs');
+ }
],
'-',
'-',
'infos' => [
- 'icon' => 'question',
- 'label' => 'À propos',
- 'link' => 'pages/a-propos',
+ 'icon' => 'question',
+ 'label' => 'À propos',
+ 'link' => 'pages/a-propos',
'current' => function ($current) {
$path = Kirby::instance()->request()->path()->toString();
return Str::contains($path, 'pages/a-propos');
- },
+ }
],
- 'subscription' => [
- 'icon' => 'email',
- 'label' => 'Liste de diffusion',
- 'link' => 'pages/lettre',
+ 'newsletter' => [
+ 'icon' => 'email',
+ 'label' => 'Liste de diffusion',
+ 'link' => 'pages/liste-de-diffusion',
'current' => function ($current) {
$path = Kirby::instance()->request()->path()->toString();
return Str::contains($path, 'pages/liste-de-diffusion');
- },
+ }
],
'-',
'-',
'users',
'comments',
'admin' => [
- 'icon' => 'folder',
- 'label' => 'Administration',
- 'link' => 'pages/admin',
+ 'icon' => 'folder',
+ 'label' => 'Administration',
+ 'link' => 'pages/admin',
'current' => function ($current) {
$path = Kirby::instance()->request()->path()->toString();
return Str::contains($path, 'pages/admin');
- },
+ }
],
'-',
'-',
diff --git a/site/config/routes/send-newsletter.php b/site/config/routes/send-newsletter.php
new file mode 100644
index 0000000..3828bc6
--- /dev/null
+++ b/site/config/routes/send-newsletter.php
@@ -0,0 +1,24 @@
+ '/send-newsletter.json',
+ 'method' => 'POST',
+ 'action' => function () {
+ $jsonRequest = file_get_contents("php://input");
+ $request = json_decode($jsonRequest);
+
+ $kirby = kirby();
+
+ try {
+ $kirby->email([
+ 'from' => "adrien.payet@outlook.com",
+ 'to' => 'payet.adrien@protonmail.com',
+ 'subject' => 'actualités',
+ 'body' => 'Ceci est un test simple.',
+ ]);
+ return json_encode(['status' => 'success', 'message' => 'Email envoyé avec succès.']);
+ } catch (Exception $error) {
+ return json_encode(['status' => 'error', 'message' => $error->getMessage()]);
+ }
+ }
+];
diff --git a/site/config/routes/subscribe.php b/site/config/routes/subscribe.php
deleted file mode 100644
index 7d183d1..0000000
--- a/site/config/routes/subscribe.php
+++ /dev/null
@@ -1,43 +0,0 @@
- '/subscribe.json',
- 'method' => 'POST',
- 'action' => function () {
- $jsonRequest = file_get_contents('php://input');
- $email = Str::lower(json_decode($jsonRequest));
-
- if (V::email($email)) {
- kirby()->impersonate('kirby');
-
- $page = page('lettre');
- $subscribers = $page->subscribers()->yaml();
-
- $emailExists = in_array(['email' => $email], $subscribers);
-
- if ($emailExists) {
- return [
- 'status' => 'error',
- 'message' => 'Cet email est déjà inscris.',
- ];
- }
-
- $newSubscriber = ['email' => $email];
- $subscribers[] = $newSubscriber;
-
- $page->update([
- 'subscribers' => $subscribers,
- ]);
-
- return [
- 'status' => 'success',
- 'message' => 'lettre réussie.',
- ];
- } else {
- return [
- 'status' => 'error',
- 'message' => 'Email invalide.',
- ];
- }
- },
-];
diff --git a/site/config/routes/virtual-author.php b/site/config/routes/virtual-author.php
new file mode 100644
index 0000000..0a067a1
--- /dev/null
+++ b/site/config/routes/virtual-author.php
@@ -0,0 +1,25 @@
+ 'auteurs/(:any)',
+ 'action' => function ($slug) {
+ $kirby = kirby();
+ $author = getAuthorBySlug($slug);
+
+ return Page::factory(
+ [
+ 'slug' => '',
+ 'template' => 'author',
+ 'model' => 'authors',
+ 'content' => [
+ 'title' => $author->name(),
+ 'presentation' => $author->presentation(),
+ 'author' => $author->name(),
+ 'uuid' => Uuid::generate(),
+ ]
+ ]
+ );
+ }
+];
diff --git a/site/config/routes/virtual-category.php b/site/config/routes/virtual-category.php
index 75023aa..95b525c 100644
--- a/site/config/routes/virtual-category.php
+++ b/site/config/routes/virtual-category.php
@@ -5,33 +5,18 @@ use Kirby\Uuid\Uuid;
return [
'pattern' => 'categories/(:any)',
'action' => function ($category) {
+ $kirby = kirby();
- $allTexts = page('textes')->grandChildren();
- $textsInCategory = $allTexts->filter(
- fn($text) => Str::slug($text->category()) === $category
- );
-
- $texts = [];
-
- foreach ($textsInCategory as $text) {
- $texts[] = (string) $text->uri();
- }
-
- try {
- $title = $textsInCategory->first()->category();
- } catch (\Throwable $th) {
- go('/erreur');
- }
-
- return Page::factory([
- 'slug' => Str::slug($category) . '-' . Uuid::generate(),
- 'template' => 'category',
- 'model' => 'category',
- 'content' => [
- 'title' => $title,
- 'texts' => Yaml::encode($texts),
+ return Page::factory(
+ [
+ 'slug' => '',
+ 'template' => 'category',
+ 'model' => 'categories',
+ 'content' => [
+ 'title' => $category,
'uuid' => Uuid::generate(),
- ],
- ]);
- },
+ ]
+ ]
+ );
+ }
];
diff --git a/site/config/routes/virtual-pending.php b/site/config/routes/virtual-pending.php
deleted file mode 100644
index 1343227..0000000
--- a/site/config/routes/virtual-pending.php
+++ /dev/null
@@ -1,18 +0,0 @@
- 'a-venir',
- 'action' => function () {
- return Page::factory([
- 'slug' => 'a-venir',
- 'template' => 'error',
- 'content' => [
- 'title' => 'Textes disponibles à partir du 21 janvier',
- 'body' => 'Rendez-vous vendredi 21 février à partir de 18h, au Centre Césure (ancien campus Censier), 13 rue Santeuil, 75005 Paris - salle Las Vergnas (métro Censier-Daubenton ou Saint-Marcel).
',
- 'uuid' => Uuid::generate(),
- ],
- ]);
- },
-];
diff --git a/site/plugins/code-editor/.editorconfig b/site/plugins/code-editor/.editorconfig
deleted file mode 100644
index 3c7a80f..0000000
--- a/site/plugins/code-editor/.editorconfig
+++ /dev/null
@@ -1,12 +0,0 @@
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-end_of_line = lf
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.php]
-indent_size = 4
diff --git a/site/plugins/code-editor/.eslintrc.json b/site/plugins/code-editor/.eslintrc.json
deleted file mode 100644
index ee215b4..0000000
--- a/site/plugins/code-editor/.eslintrc.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "env": {
- "browser": true,
- "es2021": true
- },
- "extends": [
- "eslint:recommended",
- "plugin:vue/recommended",
- "prettier"
- ],
- "parserOptions": {
- "ecmaVersion": 12,
- "sourceType": "module"
- }
-}
diff --git a/site/plugins/code-editor/.gitignore b/site/plugins/code-editor/.gitignore
deleted file mode 100644
index 9daa824..0000000
--- a/site/plugins/code-editor/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-.DS_Store
-node_modules
diff --git a/site/plugins/code-editor/LICENSE b/site/plugins/code-editor/LICENSE
deleted file mode 100644
index ee27a83..0000000
--- a/site/plugins/code-editor/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2021 Sylvain Julé
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/site/plugins/code-editor/README.md b/site/plugins/code-editor/README.md
deleted file mode 100644
index 5a1abbf..0000000
--- a/site/plugins/code-editor/README.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# Kirby – Code editor
-
-Code editor field for Kirby 3 and 4.
-
-
-
-
-
-## Overview
-
-> This plugin is completely free and published under the MIT license. However, if you are using it in a commercial project and want to help me keep up with maintenance, please consider [making a donation of your choice](https://paypal.me/sylvainjl) or purchasing your license(s) through [my affiliate link](https://a.paddle.com/v2/click/1129/36369?link=1170).
-
-- [1. Installation](#1-installation)
-- [2. Setup](#2-setup)
-- [3. Options](#3-options)
-- [4. Available languages](#4-available-languages)
-- [5. License](#5-license)
-- [6. Credits](#6-credits)
-
-
-
-## 1. Installation
-
-Download and copy this repository to ```/site/plugins/code-editor```
-
-Alternatively, you can install it with composer: ```composer require sylvainjule/code-editor```
-
-
-
-## 2. Setup
-
-This field adds a code editor in the panel:
-
-```yaml
-editor:
- label: My code editor
- type: code-editor
-```
-
-
-
-## 3. Options
-
-| Name | Type | Default | Options | Description |
-| -------------------- | ------------------ | ------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| language | `String` | `'css'` | - | Syntax mode of the editor. See below for available languages |
-| size | `String` | `'small'` | - | Min height of the editor. `small / medium / large / huge` |
-| lineNumbers | `Boolean` | `true` | - | Whether to show line numbers. |
-| tabSize | `number` | `4` | - | The number of characters to insert when pressing tab key. |
-| insertSpaces | `boolean` | `true` | - | Whether to use spaces for indentation. If you set it to `false`, you might also want to set `tabSize` to `1` |
-| ignoreTabKey | `boolean` | `false` | - | Whether the editor should ignore tab key presses so that keyboard users can tab past the editor. Users can toggle this behaviour using `Ctrl+Shift+M` (Mac) / `Ctrl+M` manually when this is `false`. |
-
-
-Note that you can make the default height any height you want with some [custom panel CSS](https://getkirby.com/docs/reference/system/options/panel#custom-panel-css). First, set the `size` option to any string you'd like:
-
-```yaml
-size: custom-size
-```
-
-Then in your `panel.css`:
-
-```css
-.k-code-editor-input[data-size="custom-size"] {
- min-height: 15rem;
-}
-```
-
-### 3.1. Default options
-
-You can globally override the default options, instead of setting them on a per-field basis. In your `site/config/config.php`:
-
-```php
-return [
- 'sylvainjule.code-editor.language' => 'css',
- 'sylvainjule.code-editor.size' => 'small',
- 'sylvainjule.code-editor.lineNumbers' => true,
- 'sylvainjule.code-editor.tabSize' => 4,
- 'sylvainjule.code-editor.insertSpaces' => true,
- 'sylvainjule.code-editor.ignoreTabKey' => false,
-];
-```
-
-
-
-## 4. Available languages
-
-Currently supported languages are:
-
-* `css`
-* `javascript`
-* `json`
-* `less`
-* `php`
-* `python`
-* `ruby`
-* `scss`
-* `yaml`
-
-
-
-## 5. License
-
-MIT
-
-
-
-## 6. Credits
-
-**Code editor:**
-
-- [Vue Prism Editor](https://github.com/koca/vue-prism-editor)
diff --git a/site/plugins/code-editor/composer.json b/site/plugins/code-editor/composer.json
deleted file mode 100644
index e14bec8..0000000
--- a/site/plugins/code-editor/composer.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "name": "sylvainjule/code-editor",
- "description": "Code editor field for Kirby 3 and 4",
- "type": "kirby-plugin",
- "license": "MIT",
- "version": "1.0.3",
- "authors": [
- {
- "name": "Sylvain Julé",
- "email": "contact@sylvain-jule.fr"
- }
- ],
- "require": {
- "getkirby/composer-installer": "^1.1"
- },
- "extra": {
- "installer-name": "code-editor"
- },
- "minimum-stability": "beta"
-}
diff --git a/site/plugins/code-editor/index.css b/site/plugins/code-editor/index.css
deleted file mode 100644
index 8abe982..0000000
--- a/site/plugins/code-editor/index.css
+++ /dev/null
@@ -1 +0,0 @@
-.prism-editor-wrapper{width:100%;height:100%;display:flex;align-items:flex-start;overflow:auto;-o-tab-size:1.5em;tab-size:1.5em;-moz-tab-size:1.5em}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.prism-editor-wrapper .prism-editor__textarea{color:transparent!important}.prism-editor-wrapper .prism-editor__textarea::-moz-selection{background-color:#accef7!important;color:transparent!important}.prism-editor-wrapper .prism-editor__textarea::selection{background-color:#accef7!important;color:transparent!important}}.prism-editor-wrapper .prism-editor__container{position:relative;text-align:left;box-sizing:border-box;padding:0;overflow:hidden;width:100%}.prism-editor-wrapper .prism-editor__line-numbers{height:100%;overflow:hidden;flex-shrink:0;padding-top:4px;margin-top:0;margin-right:10px}.prism-editor-wrapper .prism-editor__line-number{text-align:right;white-space:nowrap}.prism-editor-wrapper .prism-editor__textarea{position:absolute;top:0;left:0;height:100%;width:100%;resize:none;color:inherit;overflow:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-text-fill-color:transparent}.prism-editor-wrapper .prism-editor__editor,.prism-editor-wrapper .prism-editor__textarea{margin:0;border:0;background:none;box-sizing:inherit;display:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-variant-ligatures:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;-moz-tab-size:inherit;-o-tab-size:inherit;tab-size:inherit;text-indent:inherit;text-rendering:inherit;text-transform:inherit;white-space:pre-wrap;word-wrap:keep-all;overflow-wrap:break-word;padding:0}.prism-editor-wrapper .prism-editor__textarea--empty{-webkit-text-fill-color:inherit!important}.prism-editor-wrapper .prism-editor__editor{position:relative;pointer-events:none}code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.k-code-editor-input{background:#2d2d2d;color:#ccc;font-family:Fira code,Fira Mono,Consolas,Menlo,Courier,monospace;font-size:.9rem;line-height:1.5;padding:10px}.k-code-editor-input[data-size=small]{min-height:7.5rem}.k-code-editor-input[data-size=medium]{min-height:15rem}.k-code-editor-input[data-size=large],.k-code-editor-input[data-size=huge]{min-height:30rem}.prism-editor__textarea:focus{outline:none}
diff --git a/site/plugins/code-editor/index.js b/site/plugins/code-editor/index.js
deleted file mode 100644
index a51c14c..0000000
--- a/site/plugins/code-editor/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-(()=>{(function(){"use strict";function D(){return D=Object.assign||function(r){for(var e=1;e ";return e},lineNumbersCount:function(){var e=this.codeData.split(/\r\n|\n/).length;return e}},mounted:function(){this._recordCurrentState(),this.styleLineNumbers()},methods:{setLineNumbersHeight:function(){this.lineNumbersHeight=getComputedStyle(this.$refs.pre).height},styleLineNumbers:function(){if(!(!this.lineNumbers||!this.autoStyleLineNumbers)){var e=this.$refs.pre,i=this.$el.querySelector(".prism-editor__line-numbers"),d=window.getComputedStyle(e);this.$nextTick(function(){var h="border-top-left-radius",b="border-bottom-left-radius";if(!!i){i.style[h]=d[h],i.style[b]=d[b],e.style[h]="0",e.style[b]="0";var p=["background-color","margin-top","padding-top","font-family","font-size","line-height"];p.forEach(function(a){i.style[a]=d[a]}),i.style["margin-bottom"]="-"+d["padding-top"]}})}},_recordCurrentState:function(){var e=this.$refs.textarea;if(!!e){var i=e.value,d=e.selectionStart,h=e.selectionEnd;this._recordChange({value:i,selectionStart:d,selectionEnd:h})}},_getLines:function(e,i){return e.substring(0,i).split(`
-`)},_applyEdits:function(e){var i=this.$refs.textarea,d=this.history.stack[this.history.offset];d&&i&&(this.history.stack[this.history.offset]=D({},d,{selectionStart:i.selectionStart,selectionEnd:i.selectionEnd})),this._recordChange(e),this._updateInput(e)},_recordChange:function(e,i){i===void 0&&(i=!1);var d=this.history,h=d.stack,b=d.offset;if(h.length&&b>-1){this.history.stack=h.slice(0,b+1);var p=this.history.stack.length;if(p>X){var a=p-X;this.history.stack=h.slice(a,p),this.history.offset=Math.max(this.history.offset-a,0)}}var u=Date.now();if(i){var c=this.history.stack[this.history.offset];if(c&&u-c.timestamp=$&&K<=v&&k.startsWith(c)?k.substring(c.length):k}).join(`
-`);if(p!==S){var F=x[$];this._applyEdits({value:S,selectionStart:F.startsWith(c)?a-c.length:a,selectionEnd:u-(p.length-S.length)})}}else if(a!==u){var E=this._getLines(p,a),z=E.length-1,P=this._getLines(p,u).length-1,t=E[z];this._applyEdits({value:p.split(`
-`).map(function(k,K){return K>=z&&K<=P?c+k:k}).join(`
-`),selectionStart:/\S/.test(t)?a+c.length:a,selectionEnd:u+c.length*(P-z+1)})}else{var n=a+c.length;this._applyEdits({value:p.substring(0,a)+c+p.substring(u),selectionStart:n,selectionEnd:n})}else if(e.keyCode===ie){var s=a!==u,o=p.substring(0,a);if(o.endsWith(c)&&!s){e.preventDefault();var l=a-c.length;this._applyEdits({value:p.substring(0,a-c.length)+p.substring(u),selectionStart:l,selectionEnd:l})}}else if(e.keyCode===ae){if(a===u){var f=this._getLines(p,a).pop(),y=f==null?void 0:f.match(/^\s+/);if(y&&y[0]){e.preventDefault();var g=`
-`+y[0],w=a+g.length;this._applyEdits({value:p.substring(0,a)+g+p.substring(u),selectionStart:w,selectionEnd:w})}}}else if(e.keyCode===Y||e.keyCode===G||e.keyCode===U||e.keyCode===Q){var m;e.keyCode===Y&&e.shiftKey?m=["(",")"]:e.keyCode===G?e.shiftKey?m=["{","}"]:m=["[","]"]:e.keyCode===U?e.shiftKey?m=['"','"']:m=["'","'"]:e.keyCode===Q&&!e.shiftKey&&(m=["`","`"]),a!==u&&m&&(e.preventDefault(),this._applyEdits({value:p.substring(0,a)+m[0]+p.substring(a,u)+m[1]+p.substring(u),selectionStart:a,selectionEnd:u+2}))}else(M?e.metaKey&&e.keyCode===B:e.ctrlKey&&e.keyCode===B)&&!e.shiftKey&&!e.altKey?(e.preventDefault(),this._undoEdit()):(M?e.metaKey&&e.keyCode===B&&e.shiftKey:de?e.ctrlKey&&e.keyCode===se:e.ctrlKey&&e.keyCode===B&&e.shiftKey)&&!e.altKey?(e.preventDefault(),this._redoEdit()):e.keyCode===oe&&e.ctrlKey&&(M?e.shiftKey:!0)&&(e.preventDefault(),this.capture=!this.capture)}}},render:function(e){var i=this,d=e("div",{attrs:{class:"prism-editor__line-width-calc",style:"height: 0px; visibility: hidden; pointer-events: none;"}},"999"),h=e("div",{staticClass:"prism-editor__line-numbers",style:{"min-height":this.lineNumbersHeight},attrs:{"aria-hidden":"true"}},[d,Array.from(Array(this.lineNumbersCount).keys()).map(function(u,c){return e("div",{attrs:{class:"prism-editor__line-number token comment"}},""+ ++c)})]),b=e("textarea",{ref:"textarea",on:{input:this.handleChange,keydown:this.handleKeyDown,click:function(c){i.$emit("click",c)},keyup:function(c){i.$emit("keyup",c)},focus:function(c){i.$emit("focus",c)},blur:function(c){i.$emit("blur",c)}},staticClass:"prism-editor__textarea",class:{"prism-editor__textarea--empty":this.isEmpty},attrs:{spellCheck:"false",autocapitalize:"off",autocomplete:"off",autocorrect:"off","data-gramm":"false",placeholder:this.placeholder,"data-testid":"textarea",readonly:this.readonly},domProps:{value:this.codeData}}),p=e("pre",{ref:"pre",staticClass:"prism-editor__editor",attrs:{"data-testid":"preview"},domProps:{innerHTML:this.content}}),a=e("div",{staticClass:"prism-editor__container"},[b,p]);return e("div",{staticClass:"prism-editor-wrapper"},[this.lineNumbers&&h,a])}},xe="",J=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},R={exports:{}};(function(r){var e=typeof window!="undefined"?window:typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope?self:{};/**
- * Prism: Lightweight, robust, elegant syntax highlighting
- *
- * @license MIT
- * @author Lea Verou
- * @namespace
- * @public
- */var i=function(d){var h=/\blang(?:uage)?-([\w-]+)\b/i,b=0,p={},a={manual:d.Prism&&d.Prism.manual,disableWorkerMessageHandler:d.Prism&&d.Prism.disableWorkerMessageHandler,util:{encode:function t(n){return n instanceof u?new u(n.type,t(n.content),n.alias):Array.isArray(n)?n.map(t):n.replace(/&/g,"&").replace(/"+l.content+""+l.tag+">"};function c(t,n,s,o){t.lastIndex=n;var l=t.exec(s);if(l&&o&&l[1]){var f=l[1].length;l.index+=f,l[0]=l[0].slice(f)}return l}function x(t,n,s,o,l,f){for(var y in s)if(!(!s.hasOwnProperty(y)||!s[y])){var g=s[y];g=Array.isArray(g)?g:[g];for(var w=0;w=f.reach);C+=_.value.length,_=_.next){var T=_.value;if(n.length>t.length)return;if(!(T instanceof u)){var I=1,A;if(ee){if(A=c(te,C,t,K),!A)break;var j=A.index,_e=A.index+A[0].length,N=C;for(N+=_.value.length;j>=N;)_=_.next,N+=_.value.length;if(N-=_.value.length,C=N,_.value instanceof u)continue;for(var O=_;O!==n.tail&&(N<_e||typeof O.value=="string");O=O.next)I++,N+=O.value.length;I--,T=t.slice(C,N),A.index-=C}else if(A=c(te,0,T,K),!A)continue;var j=A.index,L=A[0],Z=T.slice(0,j),ne=T.slice(j+L.length),H=C+T.length;f&&H>f.reach&&(f.reach=H);var q=_.prev;Z&&(q=v(n,q,Z),C+=Z.length),S(n,q,I);var ke=new u(y,k?a.tokenize(L,k):L,ve,L);if(_=v(n,q,ke),ne&&v(n,_,ne),I>1){var W={cause:y+","+w,reach:H};x(t,n,s,_.prev,C,W),f&&W.reach>f.reach&&(f.reach=W.reach)}}}}}}function $(){var t={value:null,prev:null,next:null},n={value:null,prev:t,next:null};t.next=n,this.head=t,this.tail=n,this.length=0}function v(t,n,s){var o=n.next,l={value:s,prev:n,next:o};return n.next=l,o.prev=l,t.length++,l}function S(t,n,s){for(var o=n.next,l=0;l=b.length);u++){var c=a[u];if(typeof c=="string"||c.content&&typeof c.content=="string"){var x=b[h],$=i.tokenStack[x],v=typeof c=="string"?c:c.content,S=e(d,x),F=v.indexOf(S);if(F>-1){++h;var E=v.substring(0,F),z=new r.Token(d,r.tokenize($,i.grammar),"language-"+d,$),P=v.substring(F+S.length),t=[];E&&t.push.apply(t,p([E])),t.push(z),P&&t.push.apply(t,p([P])),typeof c=="string"?a.splice.apply(a,[u,1].concat(t)):c.content=t}}else c.content&&p(c.content)}return a}p(i.tokens)}}})}(Prism),Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},function(r){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;r.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},r.languages.css.atrule.inside.rest=r.languages.css;var i=r.languages.markup;i&&(i.tag.addInlined("style","css"),i.tag.addAttribute("style","css"))}(Prism),Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript,Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json,Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),function(r){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,i=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],d=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,h=/=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,b=/[{}\[\](),:;]/;r.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:e,variable:/\$+(?:\w+\b|(?=\{))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[\w|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[\w|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:i,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:d,operator:h,punctuation:b};var p={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:r.languages.php},a=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:p}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:p}}];r.languages.insertBefore("php","variable",{string:a,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:e,string:a,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:i,number:d,operator:h,punctuation:b}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),r.hooks.add("before-tokenize",function(u){if(!!/<\?/.test(u.code)){var c=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi;r.languages["markup-templating"].buildPlaceholders(u,"php",c)}}),r.hooks.add("after-tokenize",function(u){r.languages["markup-templating"].tokenizePlaceholders(u,"php")})}(Prism),Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern://,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python,function(r){r.languages.ruby=r.languages.extend("clike",{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],"class-name":{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var e={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:r.languages.ruby}};delete r.languages.ruby.function,r.languages.insertBefore("ruby","keyword",{regex:[{pattern:RegExp(/%r/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S])*\)/.source,/\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S])*\]/.source,/<(?:[^<>\\]|\\[\s\S])*>/.source].join("|")+")"+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:e}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:e}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:r.languages.ruby}}}),r.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),r.languages.ruby.string=[{pattern:RegExp(/%[qQiIwWxs]?/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S])*\)/.source,/\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S])*\]/.source,/<(?:[^<>\\]|\\[\s\S])*>/.source].join("|")+")"),greedy:!0,inside:{interpolation:e}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:e}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|[a-z_]\w*$/i,alias:"symbol",inside:{punctuation:/^<<[-~]?/}},interpolation:e}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|[a-z_]\w*$/i,alias:"symbol",inside:{punctuation:/^<<[-~]?'|'$/}}}}],r.languages.rb=r.languages.ruby}(Prism),Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|with|show|hide)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss,function(r){var e=/[*&][^\s[\]{},]+/,i=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,d="(?:"+i.source+"(?:[ ]+"+e.source+")?|"+e.source+"(?:[ ]+"+i.source+")?)",h=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),b=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function p(a,u){u=(u||"").replace(/m/g,"")+"m";var c=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,function(){return d}).replace(/<>/g,function(){return a});return RegExp(c,u)}r.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,function(){return d})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,function(){return d}).replace(/<>/g,function(){return"(?:"+h+"|"+b+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:p(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:p(/true|false/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:p(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:p(b),lookbehind:!0,greedy:!0},number:{pattern:p(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:i,important:e,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},r.languages.yml=r.languages.yaml}(Prism);var $e="",pe=function(){var r=this,e=r.$createElement,i=r._self._c||e;return i("k-field",r._b({staticClass:"k-code-editor-field",attrs:{input:r.uid}},"k-field",r.$props,!1),[i("prism-editor",{staticClass:"k-code-editor-input",attrs:{highlight:r.highlighter,"line-numbers":r.lineNumbers,"tab-size":r.tabSize,"insert-spaces":r.insertSpaces,"ignore-tab-key":r.ignoreTabKey,"data-size":r.size},on:{input:r.onCodeInput},model:{value:r.code,callback:function(d){r.code=d},expression:"code"}})],1)},fe=[],Se="";function ge(r,e,i,d,h,b,p,a){var u=typeof r=="function"?r.options:r;e&&(u.render=e,u.staticRenderFns=i,u._compiled=!0),d&&(u.functional=!0),b&&(u._scopeId="data-v-"+b);var c;if(p?(c=function(v){v=v||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!v&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(v=__VUE_SSR_CONTEXT__),h&&h.call(this,v),v&&v._registeredComponents&&v._registeredComponents.add(p)},u._ssrRegister=c):h&&(c=a?function(){h.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:h),c)if(u.functional){u._injectStyles=c;var x=u.render;u.render=function(S,F){return c.call(F),x(S,F)}}else{var $=u.beforeCreate;u.beforeCreate=$?[].concat($,c):[c]}return{exports:r,options:u}}const he={components:{PrismEditor:ce},extends:"k-textarea-field",props:{size:String,language:String,lineNumbers:Boolean,tabSize:Number,insertSpaces:Boolean,ignoreTabKey:Boolean},data(){return{code:""}},mounted(){this.code=this.value},methods:{highlighter(){return R.exports.highlight(this.code,R.exports.languages[this.language])},onCodeInput(){this.$emit("input",this.code)}}},V={};var be=ge(he,pe,fe,!1,ye,null,null,null);function ye(r){for(let e in V)this[e]=V[e]}var me=function(){return be.exports}();window.panel.plugin("sylvainjule/code-editor",{fields:{"code-editor":me}})})();})();
diff --git a/site/plugins/code-editor/index.php b/site/plugins/code-editor/index.php
deleted file mode 100644
index ba1302a..0000000
--- a/site/plugins/code-editor/index.php
+++ /dev/null
@@ -1,15 +0,0 @@
- [
- 'language' => 'css',
- 'size' => 'small',
- 'lineNumbers' => true,
- 'tabSize' => 4,
- 'insertSpaces' => true,
- 'ignoreTabKey' => false,
- ],
- 'fields' => [
- 'code-editor' => require_once __DIR__ . '/lib/fields/code-editor.php',
- ],
-]);
diff --git a/site/plugins/code-editor/lib/fields/code-editor.php b/site/plugins/code-editor/lib/fields/code-editor.php
deleted file mode 100644
index 343b545..0000000
--- a/site/plugins/code-editor/lib/fields/code-editor.php
+++ /dev/null
@@ -1,32 +0,0 @@
-root('kirby') . '/config/fields/textarea.php';
-
-/* Merge new properties
---------------------------------*/
-
-$options = A::merge($options, [
- 'props' => [
- 'size' => function($size = null) {
- return $size ?? option('sylvainjule.code-editor.size');
- },
- 'language' => function($language = null) {
- return $language ?? option('sylvainjule.code-editor.language');
- },
- 'lineNumbers' => function($lineNumbers = null) {
- return $lineNumbers ?? option('sylvainjule.code-editor.lineNumbers');
- },
- 'tabSize' => function($tabSize = null) {
- return $tabSize ?? option('sylvainjule.code-editor.tabSize');
- },
- 'insertSpaces' => function($insertSpaces = null) {
- return $tabSize ?? option('sylvainjule.code-editor.insertSpaces');
- },
- 'ignoreTabKey' => function($ignoreTabKey = null) {
- return $tabSize ?? option('sylvainjule.code-editor.ignoreTabKey');
- },
- ]
-]);
-
-// return the updated options
-return $options;
diff --git a/site/plugins/code-editor/package-lock.json b/site/plugins/code-editor/package-lock.json
deleted file mode 100644
index adfcff1..0000000
--- a/site/plugins/code-editor/package-lock.json
+++ /dev/null
@@ -1,6615 +0,0 @@
-{
- "name": "kirby-code-editor",
- "version": "0.1.0",
- "lockfileVersion": 2,
- "requires": true,
- "packages": {
- "": {
- "name": "kirby-code-editor",
- "version": "0.1.0",
- "license": "MIT",
- "devDependencies": {
- "consola": "^2.15.3",
- "eslint": "^8.3.0",
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-vue": "^8.1.1",
- "kirbyup": "^0.21.1",
- "prettier": "^2.5.0",
- "prismjs": "^1.25.0",
- "vue-prism-editor": "^1.3.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
- "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
- "dev": true,
- "dependencies": {
- "@babel/highlight": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/core": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
- "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helpers": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/core/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@babel/generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
- "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/generator/node_modules/source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz",
- "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
- "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.17.5",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
- "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
- "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
- "dev": true,
- "dependencies": {
- "@babel/helper-get-function-arity": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-get-function-arity": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
- "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-hoist-variables": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
- "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
- "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-imports": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
- "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
- "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-simple-access": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz",
- "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
- "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-simple-access": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
- "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-split-export-declaration": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
- "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helpers": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz",
- "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==",
- "dev": true,
- "dependencies": {
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.3",
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
- "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.15.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "dependencies": {
- "color-name": "1.1.3"
- }
- },
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/parser": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
- "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
- "dev": true,
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
- "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-decorators": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz",
- "integrity": "sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-decorators": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-decorators": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz",
- "integrity": "sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz",
- "integrity": "sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz",
- "integrity": "sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-typescript": {
- "version": "7.16.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz",
- "integrity": "sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-typescript": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
- "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/types": "^7.16.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
- "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
- "dev": true,
- "dependencies": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.3",
- "@babel/types": "^7.16.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse/node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
- "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
- "dev": true,
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.15.7",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
- "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
- "dev": true,
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.0.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.0.4",
- "strip-json-comments": "^3.1.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/@humanwhocodes/config-array": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
- "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
- "dev": true,
- "dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- },
- "engines": {
- "node": ">=10.10.0"
- }
- },
- "node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
- },
- "node_modules/@rollup/pluginutils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.1.tgz",
- "integrity": "sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==",
- "dev": true,
- "dependencies": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- },
- "engines": {
- "node": ">= 8.0.0"
- }
- },
- "node_modules/@vue/babel-helper-vue-jsx-merge-props": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
- "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
- "dev": true
- },
- "node_modules/@vue/babel-plugin-transform-vue-jsx": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz",
- "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==",
- "dev": true,
- "dependencies": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/plugin-syntax-jsx": "^7.2.0",
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "html-tags": "^2.0.0",
- "lodash.kebabcase": "^4.1.1",
- "svg-tags": "^1.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-preset-jsx": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz",
- "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==",
- "dev": true,
- "dependencies": {
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
- "@vue/babel-sugar-composition-api-inject-h": "^1.2.1",
- "@vue/babel-sugar-composition-api-render-instance": "^1.2.4",
- "@vue/babel-sugar-functional-vue": "^1.2.2",
- "@vue/babel-sugar-inject-h": "^1.2.2",
- "@vue/babel-sugar-v-model": "^1.2.3",
- "@vue/babel-sugar-v-on": "^1.2.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-sugar-composition-api-inject-h": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz",
- "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-sugar-composition-api-render-instance": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz",
- "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-sugar-functional-vue": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz",
- "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-sugar-inject-h": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz",
- "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-sugar-v-model": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz",
- "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-jsx": "^7.2.0",
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
- "camelcase": "^5.0.0",
- "html-tags": "^2.0.0",
- "svg-tags": "^1.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/babel-sugar-v-on": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz",
- "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==",
- "dev": true,
- "dependencies": {
- "@babel/plugin-syntax-jsx": "^7.2.0",
- "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
- "camelcase": "^5.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@vue/component-compiler-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
- "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==",
- "dev": true,
- "dependencies": {
- "consolidate": "^0.15.1",
- "hash-sum": "^1.0.2",
- "lru-cache": "^4.1.2",
- "merge-source-map": "^1.1.0",
- "postcss": "^7.0.36",
- "postcss-selector-parser": "^6.0.2",
- "source-map": "~0.6.1",
- "vue-template-es2015-compiler": "^1.9.0"
- },
- "optionalDependencies": {
- "prettier": "^1.18.2 || ^2.0.0"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/consolidate": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
- "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
- "dev": true,
- "dependencies": {
- "bluebird": "^3.1.1"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
- "dev": true
- },
- "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "dependencies": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true
- },
- "node_modules/@vue/component-compiler-utils/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- },
- "node_modules/acorn": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
- "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
- "dev": true,
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "peerDependencies": {
- "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "node_modules/at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true,
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "dependencies": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- }
- },
- "node_modules/babel-code-frame/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/babel-code-frame/node_modules/ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/babel-code-frame/node_modules/chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/babel-code-frame/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/babel-code-frame/node_modules/js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "node_modules/babel-code-frame/node_modules/strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/babel-code-frame/node_modules/supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true,
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
- "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true,
- "dependencies": {
- "babel-helper-explode-assignable-expression": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true,
- "dependencies": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true,
- "dependencies": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true,
- "dependencies": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true,
- "dependencies": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true,
- "dependencies": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
- "dev": true
- },
- "node_modules/babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
- "dev": true
- },
- "node_modules/babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
- "dev": true
- },
- "node_modules/babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true,
- "dependencies": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-functions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true,
- "dependencies": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true,
- "dependencies": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-strict-mode": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-types": "^6.26.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true,
- "dependencies": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true,
- "dependencies": {
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true,
- "dependencies": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true,
- "dependencies": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true,
- "dependencies": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true,
- "dependencies": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "regexpu-core": "^2.0.0"
- }
- },
- "node_modules/babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true,
- "dependencies": {
- "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
- "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "node_modules/babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true,
- "dependencies": {
- "regenerator-transform": "^0.10.0"
- }
- },
- "node_modules/babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "node_modules/babel-preset-env": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
- "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
- "dev": true,
- "dependencies": {
- "babel-plugin-check-es2015-constants": "^6.22.0",
- "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
- "babel-plugin-transform-async-to-generator": "^6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
- "babel-plugin-transform-es2015-classes": "^6.23.0",
- "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
- "babel-plugin-transform-es2015-destructuring": "^6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
- "babel-plugin-transform-es2015-for-of": "^6.23.0",
- "babel-plugin-transform-es2015-function-name": "^6.22.0",
- "babel-plugin-transform-es2015-literals": "^6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
- "babel-plugin-transform-es2015-object-super": "^6.22.0",
- "babel-plugin-transform-es2015-parameters": "^6.23.0",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
- "babel-plugin-transform-es2015-spread": "^6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
- "babel-plugin-transform-exponentiation-operator": "^6.22.0",
- "babel-plugin-transform-regenerator": "^6.22.0",
- "browserslist": "^3.2.6",
- "invariant": "^2.2.2",
- "semver": "^5.3.0"
- }
- },
- "node_modules/babel-preset-env/node_modules/browserslist": {
- "version": "3.2.8",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
- "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
- "dev": true,
- "dependencies": {
- "caniuse-lite": "^1.0.30000844",
- "electron-to-chromium": "^1.3.47"
- },
- "bin": {
- "browserslist": "cli.js"
- }
- },
- "node_modules/babel-preset-env/node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true,
- "bin": {
- "semver": "bin/semver"
- }
- },
- "node_modules/babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
- "dependencies": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- }
- },
- "node_modules/babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "dev": true,
- "dependencies": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
- }
- },
- "node_modules/babel-traverse/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/babel-traverse/node_modules/globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/babel-traverse/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "node_modules/babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- }
- },
- "node_modules/babel-types/node_modules/to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true,
- "bin": {
- "babylon": "bin/babylon.js"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "dependencies": {
- "fill-range": "^7.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/browserslist": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz",
- "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==",
- "dev": true,
- "dependencies": {
- "caniuse-lite": "^1.0.30001280",
- "electron-to-chromium": "^1.3.896",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.1",
- "picocolors": "^1.0.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "node_modules/cac": {
- "version": "6.7.12",
- "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz",
- "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001283",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
- "integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
- "dev": true,
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- }
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
- "dev": true,
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chokidar/node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "node_modules/colorette": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
- "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
- "dev": true
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "node_modules/consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
- "dev": true
- },
- "node_modules/consolidate": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
- "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==",
- "dev": true,
- "dependencies": {
- "bluebird": "^3.7.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "dependencies": {
- "safe-buffer": "~5.1.1"
- }
- },
- "node_modules/core-js": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
- "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
- "dev": true,
- "hasInstallScript": true
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/de-indent": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
- "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
- "dev": true
- },
- "node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "node_modules/doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "dependencies": {
- "esutils": "^2.0.2"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/electron-to-chromium": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.4.tgz",
- "integrity": "sha512-teHtgwcmVcL46jlFvAaqjyiTLWuMrUQO1JqV303JKB4ysXG6m8fXSFhbjal9st0r9mNskI22AraJZorb1VcLVg==",
- "dev": true
- },
- "node_modules/enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "dependencies": {
- "ansi-colors": "^4.1.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/esbuild": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz",
- "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==",
- "dev": true,
- "hasInstallScript": true,
- "bin": {
- "esbuild": "bin/esbuild"
- },
- "optionalDependencies": {
- "esbuild-android-arm64": "0.13.15",
- "esbuild-darwin-64": "0.13.15",
- "esbuild-darwin-arm64": "0.13.15",
- "esbuild-freebsd-64": "0.13.15",
- "esbuild-freebsd-arm64": "0.13.15",
- "esbuild-linux-32": "0.13.15",
- "esbuild-linux-64": "0.13.15",
- "esbuild-linux-arm": "0.13.15",
- "esbuild-linux-arm64": "0.13.15",
- "esbuild-linux-mips64le": "0.13.15",
- "esbuild-linux-ppc64le": "0.13.15",
- "esbuild-netbsd-64": "0.13.15",
- "esbuild-openbsd-64": "0.13.15",
- "esbuild-sunos-64": "0.13.15",
- "esbuild-windows-32": "0.13.15",
- "esbuild-windows-64": "0.13.15",
- "esbuild-windows-arm64": "0.13.15"
- }
- },
- "node_modules/esbuild-android-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz",
- "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "android"
- ]
- },
- "node_modules/esbuild-darwin-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz",
- "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/esbuild-darwin-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz",
- "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "darwin"
- ]
- },
- "node_modules/esbuild-freebsd-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz",
- "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/esbuild-freebsd-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz",
- "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "freebsd"
- ]
- },
- "node_modules/esbuild-linux-32": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz",
- "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz",
- "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-arm": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz",
- "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz",
- "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-mips64le": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz",
- "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==",
- "cpu": [
- "mips64el"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-linux-ppc64le": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz",
- "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==",
- "cpu": [
- "ppc64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "linux"
- ]
- },
- "node_modules/esbuild-netbsd-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz",
- "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "netbsd"
- ]
- },
- "node_modules/esbuild-openbsd-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz",
- "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "openbsd"
- ]
- },
- "node_modules/esbuild-sunos-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz",
- "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "sunos"
- ]
- },
- "node_modules/esbuild-windows-32": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz",
- "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==",
- "cpu": [
- "ia32"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/esbuild-windows-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz",
- "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/esbuild-windows-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz",
- "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "optional": true,
- "os": [
- "win32"
- ]
- },
- "node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/eslint": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
- "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
- "dev": true,
- "dependencies": {
- "@eslint/eslintrc": "^1.0.4",
- "@humanwhocodes/config-array": "^0.6.0",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.0",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.1.0",
- "espree": "^9.1.0",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^6.0.1",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.2.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- },
- "bin": {
- "eslint": "bin/eslint.js"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
- }
- },
- "node_modules/eslint-config-prettier": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
- "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
- "dev": true,
- "bin": {
- "eslint-config-prettier": "bin/cli.js"
- },
- "peerDependencies": {
- "eslint": ">=7.0.0"
- }
- },
- "node_modules/eslint-plugin-vue": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.1.1.tgz",
- "integrity": "sha512-rx64IrlhdfPya6u2V5ukOGiLCTgaCBdMSpczLVqyo8A0l+Vbo+lzvIfEUfAQ2auj+MF6y0TwxLorzdCIzHunnw==",
- "dev": true,
- "dependencies": {
- "eslint-utils": "^3.0.0",
- "natural-compare": "^1.4.0",
- "semver": "^7.3.5",
- "vue-eslint-parser": "^8.0.1"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "peerDependencies": {
- "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/eslint-scope": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz",
- "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
- "dependencies": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "engines": {
- "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=5"
- }
- },
- "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
- "dev": true,
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/espree": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
- "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
- "dev": true,
- "dependencies": {
- "acorn": "^8.6.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^3.1.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dev": true,
- "dependencies": {
- "estraverse": "^5.1.0"
- },
- "engines": {
- "node": ">=0.10"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "node_modules/fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "node_modules/file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "dependencies": {
- "flat-cache": "^3.0.4"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "dependencies": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": "^10.12.0 || >=12.0.0"
- }
- },
- "node_modules/flatted": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
- "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==",
- "dev": true
- },
- "node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "node_modules/fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "hasInstallScript": true,
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "node_modules/functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "dependencies": {
- "is-glob": "^4.0.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
- "dev": true,
- "dependencies": {
- "type-fest": "^0.20.2"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
- "dev": true
- },
- "node_modules/has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "dependencies": {
- "function-bind": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4.0"
- }
- },
- "node_modules/has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-ansi/node_modules/ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/hash-sum": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
- "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
- "dev": true
- },
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true,
- "bin": {
- "he": "bin/he"
- }
- },
- "node_modules/html-tags": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
- "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true,
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true,
- "engines": {
- "node": ">=0.8.19"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "node_modules/invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true,
- "dependencies": {
- "loose-envify": "^1.0.0"
- }
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
- "dev": true,
- "dependencies": {
- "has": "^1.0.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "node_modules/js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "dependencies": {
- "argparse": "^2.0.1"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
- }
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "node_modules/json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "node_modules/json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "dev": true,
- "dependencies": {
- "minimist": "^1.2.5"
- },
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/kirbyup": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/kirbyup/-/kirbyup-0.21.1.tgz",
- "integrity": "sha512-EPm7EoQMLhTSfm+WDGgVmHgFb8EDxVLrJf65IQgqz+S90G4GbSnTkyBShXzVTjfd2jbuN+JgEOaB/ahp9Jt4fg==",
- "dev": true,
- "dependencies": {
- "cac": "^6.7.11",
- "chokidar": "^3.5.2",
- "colorette": "^2.0.16",
- "consola": "^2.15.3",
- "pathe": "^0.2.0",
- "postcss-dir-pseudo-class": "^6.0.0",
- "postcss-logical": "^5.0.0",
- "sass": "^1.43.4",
- "vite": "^2.6.14",
- "vite-plugin-vue2": "^1.9.0",
- "vue": "^2.6.14",
- "vue-template-compiler": "^2.6.14"
- },
- "bin": {
- "kirbyup": "bin/kirbyup.js"
- },
- "engines": {
- "node": ">=14"
- }
- },
- "node_modules/levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "node_modules/lodash.kebabcase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
- "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
- "dev": true
- },
- "node_modules/lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
- }
- },
- "node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dev": true,
- "dependencies": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "node_modules/merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
- "dev": true,
- "dependencies": {
- "source-map": "^0.6.1"
- }
- },
- "node_modules/merge-source-map/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "node_modules/nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
- "dev": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node_modules/node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
- "dev": true
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
- "dependencies": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "node_modules/pathe": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
- "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
- "dev": true
- },
- "node_modules/picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "node_modules/picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true,
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.3",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.3.tgz",
- "integrity": "sha512-d5gVKo8ekrircqHOQNvSQk8dhGOuAfu1iP6dzfAlnAmcu7EBJ9cFuZG8B1KZK362aaEO3L1H+WM3ny9xQ29tFw==",
- "dev": true,
- "dependencies": {
- "nanoid": "^3.1.30",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/postcss-dir-pseudo-class": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.0.tgz",
- "integrity": "sha512-TC4eB5ZnLRSV1PLsAPualEjxFysU9IVEBx8h+Md2qzo8iWdNqwWCckx5fTWfe6dJxUpB0TWEpWEFhZ/YHvjSCA==",
- "dev": true,
- "dependencies": {
- "postcss-selector-parser": "6.0.6"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "postcss": "^8.3"
- }
- },
- "node_modules/postcss-logical": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.0.tgz",
- "integrity": "sha512-fWEWMn/xf6F9SMzAD7OS0GTm8Qh1BlBmEbVT/YZGYhwipQEwOpO7YOOu+qnzLksDg9JjLRj5tLmeN8OW8+ogIA==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "postcss": "^8.3"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.0.6",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
- "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
- "dev": true,
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/prettier": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz",
- "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==",
- "dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/prismjs": {
- "version": "1.25.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz",
- "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==",
- "dev": true
- },
- "node_modules/private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
- "dev": true,
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
- "node_modules/punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/querystring": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
- "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
- "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true
- },
- "node_modules/regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
- "dev": true
- },
- "node_modules/regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "dev": true,
- "dependencies": {
- "babel-runtime": "^6.18.0",
- "babel-types": "^6.19.0",
- "private": "^0.1.6"
- }
- },
- "node_modules/regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- }
- },
- "node_modules/regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true,
- "dependencies": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- },
- "node_modules/regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
- },
- "node_modules/regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true,
- "dependencies": {
- "jsesc": "~0.5.0"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- }
- },
- "node_modules/resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "dependencies": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/rollup": {
- "version": "2.60.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.1.tgz",
- "integrity": "sha512-akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==",
- "dev": true,
- "bin": {
- "rollup": "dist/bin/rollup"
- },
- "engines": {
- "node": ">=10.0.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "node_modules/sass": {
- "version": "1.43.5",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.5.tgz",
- "integrity": "sha512-WuNm+eAryMgQluL7Mbq9M4EruyGGMyal7Lu58FfnRMVWxgUzIvI7aSn60iNt3kn5yZBMR7G84fAGDcwqOF5JOg==",
- "dev": true,
- "dependencies": {
- "chokidar": ">=3.0.0 <4.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "dependencies": {
- "shebang-regex": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true,
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
- "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true
- },
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/svg-tags": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
- "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
- "dev": true
- },
- "node_modules/text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true,
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
- }
- },
- "node_modules/type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "dependencies": {
- "prelude-ls": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true,
- "engines": {
- "node": ">= 10.0.0"
- }
- },
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "dependencies": {
- "punycode": "^2.1.0"
- }
- },
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "node_modules/v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
- "node_modules/vite": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.6.14.tgz",
- "integrity": "sha512-2HA9xGyi+EhY2MXo0+A2dRsqsAG3eFNEVIo12olkWhOmc8LfiM+eMdrXf+Ruje9gdXgvSqjLI9freec1RUM5EA==",
- "dev": true,
- "dependencies": {
- "esbuild": "^0.13.2",
- "postcss": "^8.3.8",
- "resolve": "^1.20.0",
- "rollup": "^2.57.0"
- },
- "bin": {
- "vite": "bin/vite.js"
- },
- "engines": {
- "node": ">=12.2.0"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- },
- "peerDependencies": {
- "less": "*",
- "sass": "*",
- "stylus": "*"
- },
- "peerDependenciesMeta": {
- "less": {
- "optional": true
- },
- "sass": {
- "optional": true
- },
- "stylus": {
- "optional": true
- }
- }
- },
- "node_modules/vite-plugin-vue2": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/vite-plugin-vue2/-/vite-plugin-vue2-1.9.0.tgz",
- "integrity": "sha512-4vmcoiOmOTGjRnA0hk8tHYqk96ZxRpe4AmeCqJJ8jQuNo+SDF1zXPyhxAUIK1tuK354No77WVHHIimVvZQuvIA==",
- "dev": true,
- "dependencies": {
- "@babel/core": "^7.15.8",
- "@babel/parser": "^7.15.8",
- "@babel/plugin-proposal-class-properties": "^7.14.5",
- "@babel/plugin-proposal-decorators": "^7.15.8",
- "@babel/plugin-transform-typescript": "^7.15.8",
- "@rollup/pluginutils": "^4.1.1",
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "@vue/babel-preset-jsx": "^1.2.4",
- "@vue/component-compiler-utils": "^3.2.2",
- "babel-preset-env": "^1.7.0",
- "consolidate": "^0.16.0",
- "debug": "^4.3.2",
- "fs-extra": "^9.1.0",
- "hash-sum": "^2.0.0",
- "magic-string": "^0.25.7",
- "prettier": "^2.4.1",
- "querystring": "^0.2.1",
- "rollup": "^2.58.0",
- "slash": "^3.0.0",
- "source-map": "^0.7.3",
- "vue-template-es2015-compiler": "^1.9.1"
- },
- "peerDependencies": {
- "vite": "^2.0.0-beta.23",
- "vue-template-compiler": "^2.2.0"
- }
- },
- "node_modules/vue": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
- "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==",
- "dev": true
- },
- "node_modules/vue-eslint-parser": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.0.1.tgz",
- "integrity": "sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==",
- "dev": true,
- "dependencies": {
- "debug": "^4.3.2",
- "eslint-scope": "^6.0.0",
- "eslint-visitor-keys": "^3.0.0",
- "espree": "^9.0.0",
- "esquery": "^1.4.0",
- "lodash": "^4.17.21",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/mysticatea"
- },
- "peerDependencies": {
- "eslint": ">=6.0.0"
- }
- },
- "node_modules/vue-eslint-parser/node_modules/eslint-scope": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-6.0.0.tgz",
- "integrity": "sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==",
- "dev": true,
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- }
- },
- "node_modules/vue-prism-editor": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/vue-prism-editor/-/vue-prism-editor-1.3.0.tgz",
- "integrity": "sha512-54RfgtMGRMNr9484zKMOZs1wyLDR6EfFylzE2QrMCD9alCvXyYYcS0vX8oUHh+6pMUu6ts59uSN9cHglpU2NRQ==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "vue": "^2.6.11"
- }
- },
- "node_modules/vue-template-compiler": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz",
- "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==",
- "dev": true,
- "dependencies": {
- "de-indent": "^1.0.2",
- "he": "^1.1.0"
- }
- },
- "node_modules/vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
- "dev": true
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- }
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz",
- "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.16.0"
- }
- },
- "@babel/compat-data": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.4.tgz",
- "integrity": "sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q==",
- "dev": true
- },
- "@babel/core": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz",
- "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-compilation-targets": "^7.16.0",
- "@babel/helper-module-transforms": "^7.16.0",
- "@babel/helpers": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.1.2",
- "semver": "^6.3.0",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "@babel/generator": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz",
- "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0",
- "jsesc": "^2.5.1",
- "source-map": "^0.5.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
- }
- },
- "@babel/helper-annotate-as-pure": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz",
- "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz",
- "integrity": "sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.16.0",
- "@babel/helper-validator-option": "^7.14.5",
- "browserslist": "^4.17.5",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
- "dev": true
- }
- }
- },
- "@babel/helper-create-class-features-plugin": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz",
- "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz",
- "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==",
- "dev": true,
- "requires": {
- "@babel/helper-get-function-arity": "^7.16.0",
- "@babel/template": "^7.16.0",
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-get-function-arity": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz",
- "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz",
- "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz",
- "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz",
- "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz",
- "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.16.0",
- "@babel/helper-replace-supers": "^7.16.0",
- "@babel/helper-simple-access": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/helper-validator-identifier": "^7.15.7",
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz",
- "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
- "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
- "dev": true
- },
- "@babel/helper-replace-supers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz",
- "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==",
- "dev": true,
- "requires": {
- "@babel/helper-member-expression-to-functions": "^7.16.0",
- "@babel/helper-optimise-call-expression": "^7.16.0",
- "@babel/traverse": "^7.16.0",
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz",
- "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz",
- "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.15.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz",
- "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==",
- "dev": true
- },
- "@babel/helper-validator-option": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
- "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
- "dev": true
- },
- "@babel/helpers": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.3.tgz",
- "integrity": "sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w==",
- "dev": true,
- "requires": {
- "@babel/template": "^7.16.0",
- "@babel/traverse": "^7.16.3",
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/highlight": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz",
- "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.15.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
- "dev": true,
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz",
- "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==",
- "dev": true
- },
- "@babel/plugin-proposal-class-properties": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz",
- "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-decorators": {
- "version": "7.16.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz",
- "integrity": "sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg==",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-decorators": "^7.16.0"
- }
- },
- "@babel/plugin-syntax-decorators": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz",
- "integrity": "sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-jsx": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz",
- "integrity": "sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-syntax-typescript": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz",
- "integrity": "sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==",
- "dev": true,
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-typescript": {
- "version": "7.16.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz",
- "integrity": "sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg==",
- "dev": true,
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.0",
- "@babel/helper-plugin-utils": "^7.14.5",
- "@babel/plugin-syntax-typescript": "^7.16.0"
- }
- },
- "@babel/template": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz",
- "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/parser": "^7.16.0",
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/traverse": {
- "version": "7.16.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.3.tgz",
- "integrity": "sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.16.0",
- "@babel/generator": "^7.16.0",
- "@babel/helper-function-name": "^7.16.0",
- "@babel/helper-hoist-variables": "^7.16.0",
- "@babel/helper-split-export-declaration": "^7.16.0",
- "@babel/parser": "^7.16.3",
- "@babel/types": "^7.16.0",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- },
- "dependencies": {
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
- }
- }
- },
- "@babel/types": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz",
- "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.15.7",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@eslint/eslintrc": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
- "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
- "dev": true,
- "requires": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^9.0.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.0.4",
- "strip-json-comments": "^3.1.1"
- }
- },
- "@humanwhocodes/config-array": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
- "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
- "dev": true,
- "requires": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
- }
- },
- "@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
- },
- "@rollup/pluginutils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.1.tgz",
- "integrity": "sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==",
- "dev": true,
- "requires": {
- "estree-walker": "^2.0.1",
- "picomatch": "^2.2.2"
- }
- },
- "@vue/babel-helper-vue-jsx-merge-props": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz",
- "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==",
- "dev": true
- },
- "@vue/babel-plugin-transform-vue-jsx": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz",
- "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==",
- "dev": true,
- "requires": {
- "@babel/helper-module-imports": "^7.0.0",
- "@babel/plugin-syntax-jsx": "^7.2.0",
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "html-tags": "^2.0.0",
- "lodash.kebabcase": "^4.1.1",
- "svg-tags": "^1.0.0"
- }
- },
- "@vue/babel-preset-jsx": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz",
- "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==",
- "dev": true,
- "requires": {
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
- "@vue/babel-sugar-composition-api-inject-h": "^1.2.1",
- "@vue/babel-sugar-composition-api-render-instance": "^1.2.4",
- "@vue/babel-sugar-functional-vue": "^1.2.2",
- "@vue/babel-sugar-inject-h": "^1.2.2",
- "@vue/babel-sugar-v-model": "^1.2.3",
- "@vue/babel-sugar-v-on": "^1.2.3"
- }
- },
- "@vue/babel-sugar-composition-api-inject-h": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz",
- "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- }
- },
- "@vue/babel-sugar-composition-api-render-instance": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz",
- "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- }
- },
- "@vue/babel-sugar-functional-vue": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz",
- "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- }
- },
- "@vue/babel-sugar-inject-h": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz",
- "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-jsx": "^7.2.0"
- }
- },
- "@vue/babel-sugar-v-model": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz",
- "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-jsx": "^7.2.0",
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
- "camelcase": "^5.0.0",
- "html-tags": "^2.0.0",
- "svg-tags": "^1.0.0"
- }
- },
- "@vue/babel-sugar-v-on": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz",
- "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==",
- "dev": true,
- "requires": {
- "@babel/plugin-syntax-jsx": "^7.2.0",
- "@vue/babel-plugin-transform-vue-jsx": "^1.2.1",
- "camelcase": "^5.0.0"
- }
- },
- "@vue/component-compiler-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
- "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==",
- "dev": true,
- "requires": {
- "consolidate": "^0.15.1",
- "hash-sum": "^1.0.2",
- "lru-cache": "^4.1.2",
- "merge-source-map": "^1.1.0",
- "postcss": "^7.0.36",
- "postcss-selector-parser": "^6.0.2",
- "prettier": "^1.18.2 || ^2.0.0",
- "source-map": "~0.6.1",
- "vue-template-es2015-compiler": "^1.9.0"
- },
- "dependencies": {
- "consolidate": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
- "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
- "dev": true,
- "requires": {
- "bluebird": "^3.1.1"
- }
- },
- "hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
- "dev": true
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true
- },
- "postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "requires": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true
- }
- }
- },
- "acorn": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
- "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
- "dev": true
- },
- "acorn-jsx": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
- "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ansi-colors": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
- "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
- "dev": true
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "dev": true,
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "argparse": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
- "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true
- },
- "at-least-node": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
- "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
- "dev": true
- },
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
- "dev": true,
- "requires": {
- "chalk": "^1.1.3",
- "esutils": "^2.0.2",
- "js-tokens": "^3.0.2"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
- "dev": true
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
- "dev": true,
- "requires": {
- "ansi-styles": "^2.2.1",
- "escape-string-regexp": "^1.0.2",
- "has-ansi": "^2.0.0",
- "strip-ansi": "^3.0.0",
- "supports-color": "^2.0.0"
- }
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
- "dev": true
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
- "dev": true
- }
- }
- },
- "babel-helper-builder-binary-assignment-operator-visitor": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz",
- "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
- "dev": true,
- "requires": {
- "babel-helper-explode-assignable-expression": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "dev": true,
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-explode-assignable-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz",
- "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
- "dev": true,
- "requires": {
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-helper-remap-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "dev": true,
- "requires": {
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-syntax-async-functions": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
- "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
- "dev": true
- },
- "babel-plugin-syntax-exponentiation-operator": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
- "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
- "dev": true
- },
- "babel-plugin-syntax-trailing-function-commas": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz",
- "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
- "dev": true
- },
- "babel-plugin-transform-async-to-generator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz",
- "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
- "dev": true,
- "requires": {
- "babel-helper-remap-async-to-generator": "^6.24.1",
- "babel-plugin-syntax-async-functions": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
- "dev": true,
- "requires": {
- "babel-helper-define-map": "^6.24.1",
- "babel-helper-function-name": "^6.24.1",
- "babel-helper-optimise-call-expression": "^6.24.1",
- "babel-helper-replace-supers": "^6.24.1",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "dev": true,
- "requires": {
- "babel-helper-function-name": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "dev": true,
- "requires": {
- "babel-plugin-transform-strict-mode": "^6.24.1",
- "babel-runtime": "^6.26.0",
- "babel-template": "^6.26.0",
- "babel-types": "^6.26.0"
- }
- },
- "babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "dev": true,
- "requires": {
- "babel-helper-hoist-variables": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "dev": true,
- "requires": {
- "babel-plugin-transform-es2015-modules-amd": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
- "dev": true,
- "requires": {
- "babel-helper-replace-supers": "^6.24.1",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "dev": true,
- "requires": {
- "babel-helper-call-delegate": "^6.24.1",
- "babel-helper-get-function-arity": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-template": "^6.24.1",
- "babel-traverse": "^6.24.1",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
- "dev": true,
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
- "dev": true,
- "requires": {
- "babel-helper-regex": "^6.24.1",
- "babel-runtime": "^6.22.0",
- "regexpu-core": "^2.0.0"
- }
- },
- "babel-plugin-transform-exponentiation-operator": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz",
- "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
- "dev": true,
- "requires": {
- "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
- "babel-plugin-syntax-exponentiation-operator": "^6.8.0",
- "babel-runtime": "^6.22.0"
- }
- },
- "babel-plugin-transform-regenerator": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
- "dev": true,
- "requires": {
- "regenerator-transform": "^0.10.0"
- }
- },
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.22.0",
- "babel-types": "^6.24.1"
- }
- },
- "babel-preset-env": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
- "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==",
- "dev": true,
- "requires": {
- "babel-plugin-check-es2015-constants": "^6.22.0",
- "babel-plugin-syntax-trailing-function-commas": "^6.22.0",
- "babel-plugin-transform-async-to-generator": "^6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "^6.23.0",
- "babel-plugin-transform-es2015-classes": "^6.23.0",
- "babel-plugin-transform-es2015-computed-properties": "^6.22.0",
- "babel-plugin-transform-es2015-destructuring": "^6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0",
- "babel-plugin-transform-es2015-for-of": "^6.23.0",
- "babel-plugin-transform-es2015-function-name": "^6.22.0",
- "babel-plugin-transform-es2015-literals": "^6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "^6.22.0",
- "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0",
- "babel-plugin-transform-es2015-modules-umd": "^6.23.0",
- "babel-plugin-transform-es2015-object-super": "^6.22.0",
- "babel-plugin-transform-es2015-parameters": "^6.23.0",
- "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0",
- "babel-plugin-transform-es2015-spread": "^6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "^6.22.0",
- "babel-plugin-transform-es2015-template-literals": "^6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "^6.22.0",
- "babel-plugin-transform-exponentiation-operator": "^6.22.0",
- "babel-plugin-transform-regenerator": "^6.22.0",
- "browserslist": "^3.2.6",
- "invariant": "^2.2.2",
- "semver": "^5.3.0"
- },
- "dependencies": {
- "browserslist": {
- "version": "3.2.8",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz",
- "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30000844",
- "electron-to-chromium": "^1.3.47"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
- "babel-runtime": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
- "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
- "dev": true,
- "requires": {
- "core-js": "^2.4.0",
- "regenerator-runtime": "^0.11.0"
- }
- },
- "babel-template": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
- "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "babel-traverse": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "lodash": "^4.17.4"
- }
- },
- "babel-traverse": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
- "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
- "dev": true,
- "requires": {
- "babel-code-frame": "^6.26.0",
- "babel-messages": "^6.23.0",
- "babel-runtime": "^6.26.0",
- "babel-types": "^6.26.0",
- "babylon": "^6.18.0",
- "debug": "^2.6.8",
- "globals": "^9.18.0",
- "invariant": "^2.2.2",
- "lodash": "^4.17.4"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
- "dev": true
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
- "babel-types": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
- "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.26.0",
- "esutils": "^2.0.2",
- "lodash": "^4.17.4",
- "to-fast-properties": "^1.0.3"
- },
- "dependencies": {
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
- "dev": true
- }
- }
- },
- "babylon": {
- "version": "6.18.0",
- "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
- "dev": true
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
- "dev": true
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "browserslist": {
- "version": "4.18.1",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz",
- "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30001280",
- "electron-to-chromium": "^1.3.896",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.1",
- "picocolors": "^1.0.0"
- }
- },
- "cac": {
- "version": "6.7.12",
- "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.12.tgz",
- "integrity": "sha512-rM7E2ygtMkJqD9c7WnFU6fruFcN3xe4FM5yUmgxhZzIKJk4uHl9U/fhwdajGFQbQuv43FAUo1Fe8gX/oIKDeSA==",
- "dev": true
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true
- },
- "camelcase": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
- "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
- "dev": true
- },
- "caniuse-lite": {
- "version": "1.0.30001283",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
- "integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
- "dev": true
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "chokidar": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
- "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "dependencies": {
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.1"
- }
- }
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "colorette": {
- "version": "2.0.16",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz",
- "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==",
- "dev": true
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
- "dev": true
- },
- "consolidate": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
- "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==",
- "dev": true,
- "requires": {
- "bluebird": "^3.7.2"
- }
- },
- "convert-source-map": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
- "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
- "dev": true,
- "requires": {
- "safe-buffer": "~5.1.1"
- }
- },
- "core-js": {
- "version": "2.6.12",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
- "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
- "dev": true
- },
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true
- },
- "de-indent": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
- "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
- "dev": true
- },
- "debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
- "requires": {
- "ms": "2.1.2"
- }
- },
- "deep-is": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
- "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true
- },
- "doctrine": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
- "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
- "requires": {
- "esutils": "^2.0.2"
- }
- },
- "electron-to-chromium": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.4.tgz",
- "integrity": "sha512-teHtgwcmVcL46jlFvAaqjyiTLWuMrUQO1JqV303JKB4ysXG6m8fXSFhbjal9st0r9mNskI22AraJZorb1VcLVg==",
- "dev": true
- },
- "enquirer": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
- "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
- "dev": true,
- "requires": {
- "ansi-colors": "^4.1.1"
- }
- },
- "esbuild": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.15.tgz",
- "integrity": "sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==",
- "dev": true,
- "requires": {
- "esbuild-android-arm64": "0.13.15",
- "esbuild-darwin-64": "0.13.15",
- "esbuild-darwin-arm64": "0.13.15",
- "esbuild-freebsd-64": "0.13.15",
- "esbuild-freebsd-arm64": "0.13.15",
- "esbuild-linux-32": "0.13.15",
- "esbuild-linux-64": "0.13.15",
- "esbuild-linux-arm": "0.13.15",
- "esbuild-linux-arm64": "0.13.15",
- "esbuild-linux-mips64le": "0.13.15",
- "esbuild-linux-ppc64le": "0.13.15",
- "esbuild-netbsd-64": "0.13.15",
- "esbuild-openbsd-64": "0.13.15",
- "esbuild-sunos-64": "0.13.15",
- "esbuild-windows-32": "0.13.15",
- "esbuild-windows-64": "0.13.15",
- "esbuild-windows-arm64": "0.13.15"
- }
- },
- "esbuild-android-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz",
- "integrity": "sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==",
- "dev": true,
- "optional": true
- },
- "esbuild-darwin-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz",
- "integrity": "sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==",
- "dev": true,
- "optional": true
- },
- "esbuild-darwin-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz",
- "integrity": "sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==",
- "dev": true,
- "optional": true
- },
- "esbuild-freebsd-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz",
- "integrity": "sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==",
- "dev": true,
- "optional": true
- },
- "esbuild-freebsd-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz",
- "integrity": "sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==",
- "dev": true,
- "optional": true
- },
- "esbuild-linux-32": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz",
- "integrity": "sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==",
- "dev": true,
- "optional": true
- },
- "esbuild-linux-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz",
- "integrity": "sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==",
- "dev": true,
- "optional": true
- },
- "esbuild-linux-arm": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz",
- "integrity": "sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==",
- "dev": true,
- "optional": true
- },
- "esbuild-linux-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz",
- "integrity": "sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==",
- "dev": true,
- "optional": true
- },
- "esbuild-linux-mips64le": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz",
- "integrity": "sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==",
- "dev": true,
- "optional": true
- },
- "esbuild-linux-ppc64le": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz",
- "integrity": "sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==",
- "dev": true,
- "optional": true
- },
- "esbuild-netbsd-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz",
- "integrity": "sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==",
- "dev": true,
- "optional": true
- },
- "esbuild-openbsd-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz",
- "integrity": "sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==",
- "dev": true,
- "optional": true
- },
- "esbuild-sunos-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz",
- "integrity": "sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==",
- "dev": true,
- "optional": true
- },
- "esbuild-windows-32": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz",
- "integrity": "sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==",
- "dev": true,
- "optional": true
- },
- "esbuild-windows-64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz",
- "integrity": "sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==",
- "dev": true,
- "optional": true
- },
- "esbuild-windows-arm64": {
- "version": "0.13.15",
- "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz",
- "integrity": "sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==",
- "dev": true,
- "optional": true
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
- "dev": true
- },
- "escape-string-regexp": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
- "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true
- },
- "eslint": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
- "integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
- "dev": true,
- "requires": {
- "@eslint/eslintrc": "^1.0.4",
- "@humanwhocodes/config-array": "^0.6.0",
- "ajv": "^6.10.0",
- "chalk": "^4.0.0",
- "cross-spawn": "^7.0.2",
- "debug": "^4.3.2",
- "doctrine": "^3.0.0",
- "enquirer": "^2.3.5",
- "escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.1.0",
- "eslint-utils": "^3.0.0",
- "eslint-visitor-keys": "^3.1.0",
- "espree": "^9.1.0",
- "esquery": "^1.4.0",
- "esutils": "^2.0.2",
- "fast-deep-equal": "^3.1.3",
- "file-entry-cache": "^6.0.1",
- "functional-red-black-tree": "^1.0.1",
- "glob-parent": "^6.0.1",
- "globals": "^13.6.0",
- "ignore": "^4.0.6",
- "import-fresh": "^3.0.0",
- "imurmurhash": "^0.1.4",
- "is-glob": "^4.0.0",
- "js-yaml": "^4.1.0",
- "json-stable-stringify-without-jsonify": "^1.0.1",
- "levn": "^0.4.1",
- "lodash.merge": "^4.6.2",
- "minimatch": "^3.0.4",
- "natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
- "progress": "^2.0.0",
- "regexpp": "^3.2.0",
- "semver": "^7.2.1",
- "strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
- "text-table": "^0.2.0",
- "v8-compile-cache": "^2.0.3"
- }
- },
- "eslint-config-prettier": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
- "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
- "dev": true,
- "requires": {}
- },
- "eslint-plugin-vue": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.1.1.tgz",
- "integrity": "sha512-rx64IrlhdfPya6u2V5ukOGiLCTgaCBdMSpczLVqyo8A0l+Vbo+lzvIfEUfAQ2auj+MF6y0TwxLorzdCIzHunnw==",
- "dev": true,
- "requires": {
- "eslint-utils": "^3.0.0",
- "natural-compare": "^1.4.0",
- "semver": "^7.3.5",
- "vue-eslint-parser": "^8.0.1"
- }
- },
- "eslint-scope": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz",
- "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- },
- "eslint-utils": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
- "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
- "requires": {
- "eslint-visitor-keys": "^2.0.0"
- },
- "dependencies": {
- "eslint-visitor-keys": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true
- }
- }
- },
- "eslint-visitor-keys": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz",
- "integrity": "sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==",
- "dev": true
- },
- "espree": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
- "integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
- "dev": true,
- "requires": {
- "acorn": "^8.6.0",
- "acorn-jsx": "^5.3.1",
- "eslint-visitor-keys": "^3.1.0"
- }
- },
- "esquery": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
- "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dev": true,
- "requires": {
- "estraverse": "^5.1.0"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "requires": {
- "estraverse": "^5.2.0"
- }
- },
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
- },
- "estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
- },
- "fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
- },
- "fast-levenshtein": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
- "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true
- },
- "file-entry-cache": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
- "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
- "requires": {
- "flat-cache": "^3.0.4"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "flat-cache": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
- "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
- "requires": {
- "flatted": "^3.1.0",
- "rimraf": "^3.0.2"
- }
- },
- "flatted": {
- "version": "3.2.4",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
- "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==",
- "dev": true
- },
- "fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dev": true,
- "requires": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "dev": true
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "dev": true,
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
- "dev": true
- },
- "functional-red-black-tree": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
- "dev": true
- },
- "gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true
- },
- "glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- },
- "glob-parent": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
- "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
- "requires": {
- "is-glob": "^4.0.3"
- }
- },
- "globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
- "dev": true,
- "requires": {
- "type-fest": "^0.20.2"
- }
- },
- "graceful-fs": {
- "version": "4.2.8",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
- "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
- "dev": true
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "dev": true,
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "dev": true,
- "requires": {
- "ansi-regex": "^2.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
- "dev": true
- }
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "hash-sum": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
- "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
- "dev": true
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true
- },
- "html-tags": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
- "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
- "dev": true
- },
- "ignore": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
- "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "dev": true,
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "dev": true,
- "requires": {
- "loose-envify": "^1.0.0"
- }
- },
- "is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-core-module": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
- "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
- "dev": true,
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
- "dev": true
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "js-yaml": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
- "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
- "requires": {
- "argparse": "^2.0.1"
- }
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
- },
- "json-stable-stringify-without-jsonify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
- "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true
- },
- "json5": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
- "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "kirbyup": {
- "version": "0.21.1",
- "resolved": "https://registry.npmjs.org/kirbyup/-/kirbyup-0.21.1.tgz",
- "integrity": "sha512-EPm7EoQMLhTSfm+WDGgVmHgFb8EDxVLrJf65IQgqz+S90G4GbSnTkyBShXzVTjfd2jbuN+JgEOaB/ahp9Jt4fg==",
- "dev": true,
- "requires": {
- "cac": "^6.7.11",
- "chokidar": "^3.5.2",
- "colorette": "^2.0.16",
- "consola": "^2.15.3",
- "pathe": "^0.2.0",
- "postcss-dir-pseudo-class": "^6.0.0",
- "postcss-logical": "^5.0.0",
- "sass": "^1.43.4",
- "vite": "^2.6.14",
- "vite-plugin-vue2": "^1.9.0",
- "vue": "^2.6.14",
- "vue-template-compiler": "^2.6.14"
- }
- },
- "levn": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
- "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1",
- "type-check": "~0.4.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true
- },
- "lodash.kebabcase": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
- "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=",
- "dev": true
- },
- "lodash.merge": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
- "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dev": true,
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dev": true,
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
- "dev": true,
- "requires": {
- "source-map": "^0.6.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- }
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
- "nanoid": {
- "version": "3.1.30",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
- "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==",
- "dev": true
- },
- "natural-compare": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true
- },
- "node-releases": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
- "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==",
- "dev": true
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
- "requires": {
- "deep-is": "^0.1.3",
- "fast-levenshtein": "^2.0.6",
- "levn": "^0.4.1",
- "prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "dev": true
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true
- },
- "path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true
- },
- "pathe": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
- "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
- "dev": true
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "dev": true
- },
- "picomatch": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
- "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
- "dev": true
- },
- "postcss": {
- "version": "8.4.3",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.3.tgz",
- "integrity": "sha512-d5gVKo8ekrircqHOQNvSQk8dhGOuAfu1iP6dzfAlnAmcu7EBJ9cFuZG8B1KZK362aaEO3L1H+WM3ny9xQ29tFw==",
- "dev": true,
- "requires": {
- "nanoid": "^3.1.30",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.1"
- }
- },
- "postcss-dir-pseudo-class": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.0.tgz",
- "integrity": "sha512-TC4eB5ZnLRSV1PLsAPualEjxFysU9IVEBx8h+Md2qzo8iWdNqwWCckx5fTWfe6dJxUpB0TWEpWEFhZ/YHvjSCA==",
- "dev": true,
- "requires": {
- "postcss-selector-parser": "6.0.6"
- }
- },
- "postcss-logical": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.0.tgz",
- "integrity": "sha512-fWEWMn/xf6F9SMzAD7OS0GTm8Qh1BlBmEbVT/YZGYhwipQEwOpO7YOOu+qnzLksDg9JjLRj5tLmeN8OW8+ogIA==",
- "dev": true,
- "requires": {}
- },
- "postcss-selector-parser": {
- "version": "6.0.6",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz",
- "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==",
- "dev": true,
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "prelude-ls": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
- "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true
- },
- "prettier": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.0.tgz",
- "integrity": "sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==",
- "dev": true
- },
- "prismjs": {
- "version": "1.25.0",
- "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.25.0.tgz",
- "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==",
- "dev": true
- },
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
- "dev": true
- },
- "progress": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
- "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
- "dev": true
- },
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
- "dev": true
- },
- "querystring": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz",
- "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==",
- "dev": true
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "dev": true,
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true
- },
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
- "dev": true
- },
- "regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
- "dev": true,
- "requires": {
- "babel-runtime": "^6.18.0",
- "babel-types": "^6.19.0",
- "private": "^0.1.6"
- }
- },
- "regexpp": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true
- },
- "regexpu-core": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
- "dev": true,
- "requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
- }
- },
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
- "dev": true
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
- "dev": true,
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
- "dev": true
- }
- }
- },
- "resolve": {
- "version": "1.20.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
- "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
- "dev": true,
- "requires": {
- "is-core-module": "^2.2.0",
- "path-parse": "^1.0.6"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "rollup": {
- "version": "2.60.1",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.60.1.tgz",
- "integrity": "sha512-akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==",
- "dev": true,
- "requires": {
- "fsevents": "~2.3.2"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- },
- "sass": {
- "version": "1.43.5",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.43.5.tgz",
- "integrity": "sha512-WuNm+eAryMgQluL7Mbq9M4EruyGGMyal7Lu58FfnRMVWxgUzIvI7aSn60iNt3kn5yZBMR7G84fAGDcwqOF5JOg==",
- "dev": true,
- "requires": {
- "chokidar": ">=3.0.0 <4.0.0"
- }
- },
- "semver": {
- "version": "7.3.5",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
- "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
- "dev": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
- "dev": true,
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
- "dev": true
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
- "dev": true
- },
- "source-map-js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
- "integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
- "dev": true
- },
- "sourcemap-codec": {
- "version": "1.4.8",
- "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
- "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
- "dev": true
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "strip-json-comments": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
- "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "svg-tags": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
- "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
- "dev": true
- },
- "text-table": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
- "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true
- },
- "to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "type-check": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
- "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
- "requires": {
- "prelude-ls": "^1.2.1"
- }
- },
- "type-fest": {
- "version": "0.20.2",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
- "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
- "dev": true
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
- "requires": {
- "punycode": "^2.1.0"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
- "dev": true
- },
- "v8-compile-cache": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
- "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true
- },
- "vite": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vite/-/vite-2.6.14.tgz",
- "integrity": "sha512-2HA9xGyi+EhY2MXo0+A2dRsqsAG3eFNEVIo12olkWhOmc8LfiM+eMdrXf+Ruje9gdXgvSqjLI9freec1RUM5EA==",
- "dev": true,
- "requires": {
- "esbuild": "^0.13.2",
- "fsevents": "~2.3.2",
- "postcss": "^8.3.8",
- "resolve": "^1.20.0",
- "rollup": "^2.57.0"
- }
- },
- "vite-plugin-vue2": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/vite-plugin-vue2/-/vite-plugin-vue2-1.9.0.tgz",
- "integrity": "sha512-4vmcoiOmOTGjRnA0hk8tHYqk96ZxRpe4AmeCqJJ8jQuNo+SDF1zXPyhxAUIK1tuK354No77WVHHIimVvZQuvIA==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.15.8",
- "@babel/parser": "^7.15.8",
- "@babel/plugin-proposal-class-properties": "^7.14.5",
- "@babel/plugin-proposal-decorators": "^7.15.8",
- "@babel/plugin-transform-typescript": "^7.15.8",
- "@rollup/pluginutils": "^4.1.1",
- "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1",
- "@vue/babel-preset-jsx": "^1.2.4",
- "@vue/component-compiler-utils": "^3.2.2",
- "babel-preset-env": "^1.7.0",
- "consolidate": "^0.16.0",
- "debug": "^4.3.2",
- "fs-extra": "^9.1.0",
- "hash-sum": "^2.0.0",
- "magic-string": "^0.25.7",
- "prettier": "^2.4.1",
- "querystring": "^0.2.1",
- "rollup": "^2.58.0",
- "slash": "^3.0.0",
- "source-map": "^0.7.3",
- "vue-template-es2015-compiler": "^1.9.1"
- }
- },
- "vue": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
- "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==",
- "dev": true
- },
- "vue-eslint-parser": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.0.1.tgz",
- "integrity": "sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==",
- "dev": true,
- "requires": {
- "debug": "^4.3.2",
- "eslint-scope": "^6.0.0",
- "eslint-visitor-keys": "^3.0.0",
- "espree": "^9.0.0",
- "esquery": "^1.4.0",
- "lodash": "^4.17.21",
- "semver": "^7.3.5"
- },
- "dependencies": {
- "eslint-scope": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-6.0.0.tgz",
- "integrity": "sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==",
- "dev": true,
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
- }
- }
- }
- },
- "vue-prism-editor": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/vue-prism-editor/-/vue-prism-editor-1.3.0.tgz",
- "integrity": "sha512-54RfgtMGRMNr9484zKMOZs1wyLDR6EfFylzE2QrMCD9alCvXyYYcS0vX8oUHh+6pMUu6ts59uSN9cHglpU2NRQ==",
- "dev": true,
- "requires": {}
- },
- "vue-template-compiler": {
- "version": "2.6.14",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz",
- "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==",
- "dev": true,
- "requires": {
- "de-indent": "^1.0.2",
- "he": "^1.1.0"
- }
- },
- "vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
- "dev": true
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- }
- }
-}
diff --git a/site/plugins/code-editor/package.json b/site/plugins/code-editor/package.json
deleted file mode 100644
index 2c28c0c..0000000
--- a/site/plugins/code-editor/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name": "kirby-code-editor",
- "version": "1.0.3",
- "description": "Code editor field for Kirby 3 and 4",
- "main": "index.js",
- "author": "Kirby Community",
- "license": "MIT",
- "repository": {
- "type": "git",
- "url": "git@github.com:sylvainjule/kirby-code-editor.git"
- },
- "scripts": {
- "dev": "kirbyup src/index.js --watch",
- "build": "kirbyup src/index.js",
- "lint": "eslint \"src/**/*.{js,vue}\"",
- "lint:fix": "npm run lint -- --fix",
- "format": "prettier --write \"src/**/*.{css,js,vue}\"",
- "prepare": "node src/node/patchVuePrismEditor.mjs"
- },
- "devDependencies": {
- "consola": "^2.15.3",
- "eslint": "^8.3.0",
- "eslint-config-prettier": "^8.3.0",
- "eslint-plugin-vue": "^8.1.1",
- "kirbyup": "^0.21.1",
- "prettier": "^2.5.0",
- "prismjs": "^1.25.0",
- "vue-prism-editor": "^1.3.0"
- }
-}
diff --git a/site/plugins/code-editor/src/assets/css/abstracts/_variables.scss b/site/plugins/code-editor/src/assets/css/abstracts/_variables.scss
deleted file mode 100644
index c04bd5a..0000000
--- a/site/plugins/code-editor/src/assets/css/abstracts/_variables.scss
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Colors
----------------------------------*/
-
-$color-black: #000;
-$color-white: #fff;
-$color-dark: #16171a;
-$color-dark-grey: #777;
-$color-light: #efefef;
-$color-light-grey: #999;
-$color-background: $color-light;
-$color-positive: #5d800d;
-$color-positive-border: $color-positive;
-$color-positive-outline: rgba($color-positive, 0.25);
-$color-positive-on-dark: #a7bd68;
-$color-focus: #4271ae;
-$color-focus-border: $color-focus;
-$color-focus-outline: rgba($color-focus, 0.25);
-$color-focus-on-dark: #81a2be;
-$color-notice: #f5871f;
-$color-notice-on-dark: #de935f;
-$color-negative: #c82829;
-$color-negative-border: $color-negative;
-$color-negative-outline: rgba($color-negative, 0.25);
-$color-negative-on-dark: #d16464;
-$color-border: #ccc;
-$color-backdrop: rgba($color-dark, 0.6);
-$color-inset: #ebebeb;
-
-
-/* Breakpoint
----------------------------------*/
-
-$breakpoint-small: 30em;
-$breakpoint-menu: 45em;
-$breakpoint-medium: 65em;
-$breakpoint-large: 90em;
-$breakpoint-huge: 120em;
-
-
-/* Fields
----------------------------------*/
-
-$field-input-padding: .5rem;
-$field-input-height: 2.25rem;
-$field-input-line-height: 1.25rem;
-
-
-/* Typography
----------------------------------*/
-
-$font-size-tiny: 0.75rem;
-$font-size-small: 0.875rem;
-$font-size-medium: 1rem;
-$font-size-large: 1.25rem;
-$font-size-huge: 1.5rem;
-$font-size-monster: 1.75rem;
-
-$font-weight-normal: 400;
-$font-weight-bold: 600;
-
-$font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
-$font-family-mono: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;
diff --git a/site/plugins/code-editor/src/assets/css/styles.scss b/site/plugins/code-editor/src/assets/css/styles.scss
deleted file mode 100644
index c443871..0000000
--- a/site/plugins/code-editor/src/assets/css/styles.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-@import
- 'abstracts/variables.scss';
-
-.k-code-editor-input {
- background: #2d2d2d;
- color: #ccc;
- font-family: Fira code, Fira Mono, Consolas, Menlo, Courier, monospace;
- font-size: .9rem;
- line-height: 1.5;
- padding: 10px;
-
- &[data-size="small"] {
- min-height: 7.5rem;
- }
- &[data-size="medium"] {
- min-height: 15rem;
- }
- &[data-size="large"] {
- min-height: 30rem;
- }
- &[data-size="huge"] {
- min-height: 30rem;
- }
-
-}
-
-.prism-editor__textarea:focus {
- outline: none;
-}
diff --git a/site/plugins/code-editor/src/components/field/CodeEditor.vue b/site/plugins/code-editor/src/components/field/CodeEditor.vue
deleted file mode 100644
index d6b486d..0000000
--- a/site/plugins/code-editor/src/components/field/CodeEditor.vue
+++ /dev/null
@@ -1,72 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/site/plugins/code-editor/src/index.js b/site/plugins/code-editor/src/index.js
deleted file mode 100644
index 89e4600..0000000
--- a/site/plugins/code-editor/src/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import CodeEditor from "./components/field/CodeEditor.vue";
-
-window.panel.plugin("sylvainjule/code-editor", {
- fields: {
- "code-editor": CodeEditor,
- },
-});
diff --git a/site/plugins/code-editor/src/node/patchVuePrismEditor.mjs b/site/plugins/code-editor/src/node/patchVuePrismEditor.mjs
deleted file mode 100644
index 3b80640..0000000
--- a/site/plugins/code-editor/src/node/patchVuePrismEditor.mjs
+++ /dev/null
@@ -1,38 +0,0 @@
-import { existsSync, readFileSync, writeFileSync } from "fs";
-import chalk from "chalk";
-import consola from "consola";
-
-const srcPath = "node_modules/vue-prism-editor/dist/prismeditor.esm.js";
-
-async function main() {
- consola.start("Vue Prism Editor patcher");
-
- if (!existsSync(srcPath)) {
- consola.error(
- `couldn't find ${chalk.cyan(srcPath)}, did you run ${chalk.green(
- "npm install"
- )}?`
- );
- return;
- }
-
- const source = readFileSync(srcPath, "utf8");
-
- if (!source.includes("Vue.extend")) {
- consola.success("already patched");
- return;
- }
-
- consola.info("patching the source component...");
-
- let output = source
- .replace(/^import Vue from 'vue';/, "")
- .replace("/*#__PURE__*/Vue.extend(", "")
- .replace(/\}\)(;\s+export)/, "}$1");
-
- writeFileSync(srcPath, output, "utf8");
-
- consola.success("successfully patched");
-}
-
-main().catch((err) => consola.error(err));
diff --git a/site/plugins/helpers/index.php b/site/plugins/helpers/index.php
index 69357d7..c01e7ad 100644
--- a/site/plugins/helpers/index.php
+++ b/site/plugins/helpers/index.php
@@ -23,10 +23,15 @@ function setTitleFontSizeClass($title, $level = 'h1')
function getAuthorBySlug($slug)
{
- $site = site();
- $authors = page("auteurs")->children();
- $author = $authors->find($slug);
+ $kirby = kirby();
+ $author = '';
+ foreach ($kirby->users() as $user) {
+
+ if (Str::slug($user->name()) === $slug) {
+
+ $author = $user;
+ }
+ }
return $author;
}
-
\ No newline at end of file
diff --git a/site/plugins/kirby-seo/.husky/pre-commit b/site/plugins/kirby-seo/.husky/pre-commit
deleted file mode 100755
index 7dc800e..0000000
--- a/site/plugins/kirby-seo/.husky/pre-commit
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env sh
-. "$(dirname -- "$0")/_/husky.sh"
-
-pnpm run build && git add index.css index.js
diff --git a/site/plugins/kirby-seo/.nvmrc b/site/plugins/kirby-seo/.nvmrc
deleted file mode 100644
index 2edeafb..0000000
--- a/site/plugins/kirby-seo/.nvmrc
+++ /dev/null
@@ -1 +0,0 @@
-20
\ No newline at end of file
diff --git a/site/plugins/kirby-seo/.php-cs-fixer.dist.php b/site/plugins/kirby-seo/.php-cs-fixer.dist.php
deleted file mode 100644
index 6abe02c..0000000
--- a/site/plugins/kirby-seo/.php-cs-fixer.dist.php
+++ /dev/null
@@ -1,59 +0,0 @@
-exclude('vendor')
- ->in(__DIR__);
-
-$config = new PhpCsFixer\Config();
-return $config
- ->setRules([
- '@PSR12' => true,
- 'align_multiline_comment' => ['comment_type' => 'phpdocs_like'],
- 'array_indentation' => true,
- 'array_syntax' => ['syntax' => 'short'],
- 'cast_spaces' => ['space' => 'none'],
- // 'class_keyword_remove' => true, // replaces static::class with 'static' (won't work)
- 'combine_consecutive_issets' => true,
- 'combine_consecutive_unsets' => true,
- 'combine_nested_dirname' => true,
- 'concat_space' => ['spacing' => 'one'],
- 'declare_equal_normalize' => ['space' => 'single'],
- 'dir_constant' => true,
- 'function_typehint_space' => true,
- 'include' => true,
- 'logical_operators' => true,
- 'lowercase_cast' => true,
- 'lowercase_static_reference' => true,
- 'magic_constant_casing' => true,
- 'magic_method_casing' => true,
- 'method_chaining_indentation' => true,
- 'modernize_types_casting' => true,
- 'multiline_comment_opening_closing' => true,
- 'native_function_casing' => true,
- 'native_function_type_declaration_casing' => true,
- 'new_with_braces' => true,
- 'no_blank_lines_after_class_opening' => true,
- 'no_blank_lines_after_phpdoc' => true,
- 'no_empty_comment' => true,
- 'no_empty_phpdoc' => true,
- 'no_empty_statement' => true,
- 'no_leading_namespace_whitespace' => true,
- 'no_mixed_echo_print' => ['use' => 'echo'],
- 'no_unneeded_control_parentheses' => true,
- 'no_unused_imports' => true,
- 'no_useless_return' => true,
- 'ordered_imports' => ['sort_algorithm' => 'alpha'],
- // 'phpdoc_add_missing_param_annotation' => ['only_untyped' => false], // adds params in the wrong order
- 'phpdoc_align' => ['align' => 'left'],
- 'phpdoc_indent' => true,
- 'phpdoc_scalar' => true,
- 'phpdoc_trim' => true,
- 'short_scalar_cast' => true,
- 'single_line_comment_style' => true,
- 'single_quote' => true,
- 'ternary_to_null_coalescing' => true,
- 'whitespace_after_comma_in_array' => true
- ])
- ->setRiskyAllowed(true)
- ->setIndent("\t")
- ->setFinder($finder);
diff --git a/site/plugins/kirby-seo/LICENSE b/site/plugins/kirby-seo/LICENSE
deleted file mode 100644
index 8bf1eeb..0000000
--- a/site/plugins/kirby-seo/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-MIT License
-
-Copyright (c) 2023-2024 Tobias Möritz
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/site/plugins/kirby-seo/README.md b/site/plugins/kirby-seo/README.md
deleted file mode 100644
index 832fb31..0000000
--- a/site/plugins/kirby-seo/README.md
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-Kirby SEO
-All-in-one toolkit that makes implementing SEO & Meta best practices a breeze
-
----
-
-## Features
-
-- 🔎 All-in-one SEO and meta solution
-- 🪜 The Meta Cascade: Intelligently merge metadata from multiple sources
-- 🎛 Completely configurable: Disable features you don't need
-- 💻 Simple Panel UI with previews for Google, Twitter, Facebook & Co.
-- 📮 [Schema.org (JSON-LD)](https://schema.org/) support with fluent classes
-- 🤖 Automatic Robots rule generation, based on page status
-- 📝 Sitemap generation with multi-lang support
-
-## Get started
-
-[Read the documentation](https://plugins.andkindness.com/seo/docs/get-started/feature-overview) to get started with Kirby SEO.
-
-## Support the project
-
-> [!NOTE]
-> This plugin is provided free of charge & published under the permissive MIT License. If you use it in a commercial project, please consider sponsoring me on GitHub to support further development and continued maintenance of Kirby SEO.
-
-## License
-
-[MIT License](./../LICENSE)
-Copyright © 2023-2024 Tobias Möritz
diff --git a/site/plugins/kirby-seo/blueprints/fields/meta-group.yml b/site/plugins/kirby-seo/blueprints/fields/meta-group.yml
deleted file mode 100644
index 8845eb1..0000000
--- a/site/plugins/kirby-seo/blueprints/fields/meta-group.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-type: group
-fields:
- metaHeadline:
- label: meta-headline
- type: headline
- numbered: false
- metaTitle:
- label: title-overwrite
- type: text
- placeholder: '{{ page.title }}'
- metaTemplate:
- label: meta-title-template
- type: text
- help: meta-title-template-help
- width: 2/3
- placeholder: '{{ page.metadata.metaTemplate }}'
- useTitleTemplate:
- label: use-title-template
- type: toggle
- help: use-title-template-help
- width: 1/3
- default: true
- text:
- - "{{ t('use-title-template-no') }}"
- - "{{ t('use-title-template-yes') }}"
- metaDescription:
- label: meta-description
- type: textarea
- help: meta-description-help
- placeholder: '{{ page.metadata.metaDescription }}'
- buttons: false
- seoLine1:
- type: line
diff --git a/site/plugins/kirby-seo/blueprints/fields/og-group.yml b/site/plugins/kirby-seo/blueprints/fields/og-group.yml
deleted file mode 100644
index 11fc7b8..0000000
--- a/site/plugins/kirby-seo/blueprints/fields/og-group.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-type: group
-fields:
- ogHeadline:
- label: og-headline
- type: headline
- numbered: false
- help: global-og-headline-help
- ogTemplate:
- label: og-title-template
- type: text
- width: 2/3
- help: meta-title-template-help
- placeholder: '{{ page.metadata.ogTemplate }}'
- useOgTemplate:
- label: use-title-template
- type: toggle
- help: use-title-template-help
- width: 1/3
- default: true
- text:
- - "{{ t('use-title-template-no') }}"
- - "{{ t('use-title-template-yes') }}"
- ogDescription:
- label: og-description
- type: textarea
- buttons: false
- placeholder: '{{ page.metadata.ogDescription }}'
- ogImage:
- label: og-image
- extends: seo/fields/og-image
- empty: og-image-empty
- twitterCardType:
- label: twitter-card-type
- width: 1/2
- placeholder: "{{ t('default-select') }} {{ t(site.twitterCardType) }}"
- type: select
- options:
- summary: "{{ t('summary') }}"
- summary_large_image: "{{ t('summary_large_image') }}"
- help: twitter-card-type-help
- twitterAuthor:
- label: twitter-author
- width: 1/2
- type: text
- before: '@'
- placeholder: '{{ page.metadata.twitterCreator }}'
- seoLine2:
- type: line
diff --git a/site/plugins/kirby-seo/blueprints/fields/og-image.php b/site/plugins/kirby-seo/blueprints/fields/og-image.php
deleted file mode 100644
index 05462a9..0000000
--- a/site/plugins/kirby-seo/blueprints/fields/og-image.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'files',
- 'multiple' => false,
- 'uploads' => [],
- 'query' => Str::contains($kirby->path(), '/site') && !Str::contains($kirby->path(), 'pages') ? 'site.images' : 'page.images' // small hack to get context for field using api path
- ];
-
- if ($parent = option('tobimori.seo.files.parent')) {
- $blueprint['uploads'] = [
- 'parent' => $parent
- ];
- $blueprint['query'] = "{$parent}.images";
- }
-
- if ($template = option('tobimori.seo.files.template')) {
- $blueprint['uploads'] = [
- ...$blueprint['uploads'],
- 'template' => $template
- ];
-
- $blueprint['query'] = "{$blueprint['query']}.filterBy('template', '{$template}')";
- }
-
- return $blueprint;
-};
diff --git a/site/plugins/kirby-seo/blueprints/fields/robots.php b/site/plugins/kirby-seo/blueprints/fields/robots.php
deleted file mode 100644
index 1aebd1f..0000000
--- a/site/plugins/kirby-seo/blueprints/fields/robots.php
+++ /dev/null
@@ -1,55 +0,0 @@
-option('tobimori.seo.robots.active') || !$kirby->option('tobimori.seo.robots.pageSettings')) {
- return [
- 'type' => 'hidden'
- ];
- }
-
- $fields = [
- 'robotsHeadline' => [
- 'label' => 'robots',
- 'type' => 'headline',
- 'numbered' => false,
- ]
- ];
-
- $page = Meta::currentPage();
- foreach ($kirby->option('tobimori.seo.robots.types') as $robots) {
- $upper = Str::ucfirst($robots);
-
- $fields["robots{$upper}"] = [
- 'label' => "robots-{$robots}",
- 'type' => 'toggles',
- 'help' => "robots-{$robots}-help",
- 'width' => '1/2',
- 'default' => 'default',
- 'reset' => false,
- 'options' => [
- 'default' => $page ?
- A::join([
- t('default-select'),
- $page->metadata()->get("robots{$upper}", ['fields'])->toBool() ? t('yes') : t('no')
- ], ' ')
- : t('default-select'),
- 'true' => t('yes'),
- 'false' => t('no'),
- ]
- ];
- }
-
- $fields['seoLine3'] = [
- 'type' => 'line'
- ];
-
- return [
- 'type' => 'group',
- 'fields' => $fields,
- ];
-};
diff --git a/site/plugins/kirby-seo/blueprints/fields/site-robots.php b/site/plugins/kirby-seo/blueprints/fields/site-robots.php
deleted file mode 100644
index 17bfcc9..0000000
--- a/site/plugins/kirby-seo/blueprints/fields/site-robots.php
+++ /dev/null
@@ -1,49 +0,0 @@
-option('tobimori.seo.robots.active') || !$kirby->option('tobimori.seo.robots.pageSettings')) {
- return [
- 'type' => 'hidden'
- ];
- }
-
- $fields = [
- 'robotsHeadline' => [
- 'label' => 'robots',
- 'type' => 'headline',
- 'numbered' => false,
- ]
- ];
-
- foreach ($kirby->option('tobimori.seo.robots.types') as $robots) {
- $index = $kirby->option('tobimori.seo.robots.index');
- if (is_callable($index)) {
- $index = $index();
- }
-
- $fields["robots{$robots}"] = [
- 'label' => "robots-{$robots}",
- 'type' => 'toggles',
- 'help' => "robots-{$robots}-help",
- 'width' => '1/2',
- 'default' => 'default',
- 'reset' => false,
- 'options' => [
- 'default' => t('default-select') . ' ' . ($index ? t('yes') : t('no')),
- 'true' => t('yes'),
- 'false' => t('no'),
- ]
- ];
- }
-
- $fields['seoLine3'] = [
- 'type' => 'line'
- ];
-
- return [
- 'type' => 'group',
- 'fields' => $fields,
- ];
-};
diff --git a/site/plugins/kirby-seo/blueprints/fields/social-media.php b/site/plugins/kirby-seo/blueprints/fields/social-media.php
deleted file mode 100644
index 8ab9f33..0000000
--- a/site/plugins/kirby-seo/blueprints/fields/social-media.php
+++ /dev/null
@@ -1,30 +0,0 @@
-option('tobimori.seo.socialMedia') as $key => $value) {
- if ($value) {
- $fields[$key] = [
- 'label' => ucfirst($key),
- 'type' => 'url',
- 'icon' => strtolower($key),
- 'placeholder' => $value
- ];
- }
- }
-
- return [
- 'label' => 'social-media-accounts',
- 'type' => 'object',
- 'help' => 'social-media-accounts-help',
- 'fields' => $fields
- ];
-};
diff --git a/site/plugins/kirby-seo/blueprints/page.yml b/site/plugins/kirby-seo/blueprints/page.yml
deleted file mode 100644
index ed86854..0000000
--- a/site/plugins/kirby-seo/blueprints/page.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-label: metadata-site
-icon: search
-
-columns:
- main:
- width: 7/12
- fields:
- metaGroup: seo/fields/meta-group
- ogGroup: seo/fields/og-group
- robots: seo/fields/robots
- metaInherit:
- label: inherit-settings
- type: multiselect
- help: inherit-settings-help
- options:
- metaTemplate: "{{ t('meta-title-template') }}"
- metaDescription: "{{ t('meta-description') }}"
- ogTemplate: "{{ t('og-title-template') }}"
- ogDescription: "{{ t('og-description') }}"
- ogImage: "{{ t('og-image') }}"
- twitterCardType: "{{ t('twitter-card-type') }}"
- twitterAuthor: "{{ t('twitter-author') }}"
- robots: '{{ t("robots") }}'
- sidebar:
- width: 5/12
- sticky: true
- sections:
- seoPreview:
- type: seo-preview
diff --git a/site/plugins/kirby-seo/blueprints/site.yml b/site/plugins/kirby-seo/blueprints/site.yml
deleted file mode 100644
index eebba22..0000000
--- a/site/plugins/kirby-seo/blueprints/site.yml
+++ /dev/null
@@ -1,70 +0,0 @@
-label: metadata-site
-icon: search
-
-columns:
- main:
- width: 7/12
- fields:
- metaHeadline:
- label: global-meta-headline
- type: headline
- numbered: false
- help: global-meta-headline-help
- metaTemplate:
- label: meta-title-template
- type: text
- help: meta-title-template-help
- metaDescription:
- label: meta-description
- type: textarea
- help: meta-description-help
- buttons: false
- seoLine1:
- type: line
- ogHeadline:
- label: global-og-headline
- type: headline
- numbered: false
- help: global-og-headline-help
- ogTemplate:
- label: og-title-template
- type: text
- default: '{{ title }}'
- help: meta-title-template-help
- placeholder: '{{ site.metaTemplate }}'
- ogDescription:
- label: og-description
- type: textarea
- buttons: false
- placeholder: '{{ site.metaDescription }}'
- ogSiteName:
- label: og-site-name
- type: text
- default: '{{ site.title }}'
- placeholder: '{{ site.title }}'
- width: 1/2
- ogImage:
- label: og-image
- extends: seo/fields/og-image
- empty: og-image-empty
- width: 1/2
- twitterCardType:
- label: twitter-card-type
- width: 1/2
- type: select
- default: summary
- required: true
- options:
- summary: "{{ t('summary') }}"
- summary_large_image: "{{ t('summary_large_image') }}"
- help: twitter-card-type-help
- seoLine2:
- type: line
- robots: seo/fields/site-robots
- socialMediaAccounts: seo/fields/social-media
- sidebar:
- width: 5/12
- sticky: true
- sections:
- seoPreview:
- type: seo-preview
diff --git a/site/plugins/kirby-seo/classes/Meta.php b/site/plugins/kirby-seo/classes/Meta.php
deleted file mode 100644
index 806152b..0000000
--- a/site/plugins/kirby-seo/classes/Meta.php
+++ /dev/null
@@ -1,670 +0,0 @@
-page = $page;
- $this->lang = $lang;
-
- if (method_exists($this->page, 'metaDefaults')) {
- $this->metaDefaults = $this->page->metaDefaults($this->lang);
- }
- }
-
- /**
- * Returns the meta array which maps meta tags to their fieldnames
- */
- protected function metaArray(): array
- {
- if ($this->metaArray) {
- return $this->metaArray;
- }
-
- /**
- * We have to specify field names and resolve them later, so we can use this
- * function to resolve meta tags from field names in the programmatic function
- */
- $meta =
- [
- 'title' => 'metaTitle',
- 'description' => 'metaDescription',
- 'date' => fn () => $this->page->modified($this->dateFormat()),
- 'og:title' => 'ogTitle',
- 'og:description' => 'ogDescription',
- 'og:site_name' => 'ogSiteName',
- 'og:image' => 'ogImage',
- 'og:image:width' => fn () => $this->ogImage() ? $this->get('ogImage')->toFile()?->width() : null,
- 'og:image:height' => fn () => $this->ogImage() ? $this->get('ogImage')->toFile()?->height() : null,
- 'og:image:alt' => fn () => $this->get('ogImage')->toFile()?->alt(),
- 'og:type' => 'ogType',
- ];
-
-
- // Robots
- if ($robotsActive = option('tobimori.seo.robots.active')) {
- $meta['robots'] = fn () => $this->robots();
- }
-
- // only add canonical and alternate tags if the page is indexable
- // we have to resolve this lazily (using a callable) to avoid an infinite loop
- $allowsIndexFn = fn () => !$robotsActive || !Str::contains($this->robots(), 'noindex');
-
- // canonical
- $canonicalFn = fn () => $allowsIndexFn() ? $this->canonicalUrl() : null;
- $meta['canonical'] = $canonicalFn;
- $meta['og:url'] = $canonicalFn;
-
- // Multi-lang alternate tags
- if (kirby()->languages()->count() > 1 && kirby()->language() !== null) {
- foreach (kirby()->languages() as $lang) {
- // only add alternate tags if the page is indexable
- $meta['alternate'][] = fn () => $allowsIndexFn() ? [
- 'hreflang' => $lang->code(),
- 'href' => $this->page->url($lang->code()),
- ] : null;
-
- if ($lang !== kirby()->language()) {
- $meta['og:locale:alternate'][] = fn () => $lang->code();
- }
- }
-
- // only add alternate tags if the page is indexable
- $meta['alternate'][] = fn () => $allowsIndexFn() ? [
- 'hreflang' => 'x-default',
- 'href' => $this->page->url(kirby()->language()->code()),
- ] : null;
- $meta['og:locale'] = fn () => kirby()->language()->locale(LC_ALL);
- } else {
- $meta['og:locale'] = fn () => $this->locale(LC_ALL);
- }
-
- // Twitter tags "opt-in" - TODO: wip
- if (option('tobimori.seo.twitter', true)) {
- $meta = array_merge($meta, [
- 'twitter:card' => 'twitterCardType',
- 'twitter:title' => 'ogTitle',
- 'twitter:description' => 'ogDescription',
- 'twitter:image' => 'ogImage',
- 'twitter:site' => 'twitterSite',
- 'twitter:creator' => 'twitterCreator',
- ]);
- }
-
- // This array will be normalized for use in the snippet in $this->snippetData()
- return $this->metaArray = $meta;
- }
-
- /**
- * This array defines what HTML tag the corresponding meta tags are using including the attributes,
- * so everything is a bit more elegant when defining programmatic content (supports regex)
- */
- public const TAG_TYPE_MAP = [
- [
- 'tag' => 'title',
- 'tags' => [
- 'title'
- ]
- ],
- [
- 'tag' => 'link',
- 'attributes' => [
- 'name' => 'rel',
- 'content' => 'href',
- ],
- 'tags' => [
- 'canonical',
- 'alternate',
- ]
- ],
- [
- 'tag' => 'meta',
- 'attributes' => [
- 'name' => 'property',
- 'content' => 'content',
- ],
- 'tags' => [
- '/og:.+/'
- ]
- ]
- ];
-
- /**
- * Normalize the meta array and remaining meta defaults to be used in the snippet,
- * also resolve the content, if necessary
- */
- public function snippetData(array $raw = null): array
- {
- $mergeWithDefaults = !isset($raw);
- $raw ??= $this->metaArray();
- $tags = [];
-
- foreach ($raw as $name => $value) {
- // if the key is numeric, it is already normalized to the correct array syntax
- if (is_numeric($name)) {
- // but we still check if the array is valid
- if (!is_array($value) || count(array_intersect(['tag', 'content', 'attributes'], array_keys($value))) !== count($value)) {
- throw new InvalidArgumentException("[kirby-seo] Invalid array structure found in programmatic content for page {$this->slug()}. Please check your metaDefaults method for template {$this->template()->name()}.");
- }
-
- $tags[] = $value;
- continue;
- }
-
- // allow overrides from metaDefaults for keys that are a callable or array by default
- // (all fields from meta array that are not part of the regular cascade)
- if ((is_callable($value) || is_array($value)) && $mergeWithDefaults && array_key_exists($name, $this->metaDefaults)) {
- $this->consumed[] = $name;
- $value = $this->metaDefaults[$name];
- }
-
- // if the value is a string, we know it's a field name
- if (is_string($value)) {
- $value = $this->$value($name);
- }
-
- // if the value is a callable, we resolve it
- if (is_callable($value)) {
- $value = $value($this->page);
- }
-
- // if the value is empty, we don't want to output it
- if ((is_a($value, 'Kirby\Content\Field') && $value->isEmpty()) || !$value) {
- continue;
- }
-
- // resolve the tag type from the meta array
- // so we can use the correct attributes to normalize it
- $tag = $this->resolveTag($name);
-
- // if the value is an associative array now, all of them are attributes
- // and we don't look for what the TAG_TYPE_MAP says
- // or there should be multiple tags with the same name (non-associative array)
- if (is_array($value)) {
- if (!A::isAssociative($value)) {
- foreach ($value as $val) {
- $tags = array_merge($tags, $this->snippetData([$name => $val]));
- }
- continue;
- }
-
- // array is associative, so it's an array of attributes
- // we resolve the values, if they are callable
- array_walk($value, function (&$item) {
- if (is_callable($item)) {
- $item = $item($this->page);
- }
- });
-
- // add the tag to the array
- $tags[] = [
- 'tag' => $tag['tag'],
- 'attributes' => $value,
- 'content' => null,
- ];
- continue;
- }
-
- // if the value is a string, we use the TAG_TYPE_MAP
- // to correctly map the attributes
- $tags[] = [
- 'tag' => $tag['tag'],
- 'attributes' => isset($tag['attributes']) ? [
- $tag['attributes']['name'] => $name,
- $tag['attributes']['content'] => $value,
- ] : null,
- 'content' => !isset($tag['attributes']) ? $value : null,
- ];
- }
-
- if ($mergeWithDefaults) {
- // merge the remaining meta defaults
- $tags = array_merge($tags, $this->snippetData(array_diff_key($this->metaDefaults, array_flip($this->consumed))));
- }
-
- return $tags;
- }
-
- /**
- * Resolves the tag type from the meta array
- */
- protected function resolveTag(string $tag): array
- {
- foreach (self::TAG_TYPE_MAP as $type) {
- foreach ($type['tags'] as $regexOrString) {
- // Check if the supplied tag is a regex or a normal tag name
- if (Str::startsWith($regexOrString, '/') && Str::endsWith($regexOrString, '/') ?
- Str::match($tag, $regexOrString) : $tag === $regexOrString
- ) {
- return $type;
- }
- }
- }
-
- return [
- 'tag' => 'meta',
- 'attributes' => [
- 'name' => 'name',
- 'content' => 'content',
- ]
- ];
- }
-
- /**
- * Magic method to get a meta value by calling the method name
- */
- public function __call($name, $args = null): mixed
- {
- if (method_exists($this, $name)) {
- return $this->$name($args);
- }
-
- return $this->get($name);
- }
-
- /**
- * Get the meta value for a given key
- */
- public function get(string $key, array $exclude = []): Field
- {
- $cascade = option('tobimori.seo.cascade');
- if (count(array_intersect(get_class_methods($this), $cascade)) !== count($cascade)) {
- throw new InvalidArgumentException('[kirby-seo] Invalid cascade method in config. Please check your options for `tobimori.seo.cascade`.');
- }
-
- // Track consumed keys, so we don't output legacy field values
- $toBeConsumed = $key;
- if (
- (array_key_exists($toBeConsumed, $this->metaDefaults)
- || array_key_exists($toBeConsumed = $this->findTagForField($toBeConsumed), $this->metaDefaults))
- && !in_array($toBeConsumed, $this->consumed)
- ) {
- $this->consumed[] = $toBeConsumed;
- }
-
- foreach (array_diff($cascade, $exclude) as $method) {
- if ($field = $this->$method($key)) {
- return $field;
- }
- }
-
- return new Field($this->page, $key, '');
- }
-
- /**
- * Get the meta value for a given key from the page's fields
- */
- protected function fields(string $key): Field|null
- {
- if (($field = $this->page->content($this->lang)->get($key))) {
- if (Str::contains($key, 'robots') && !option('tobimori.seo.robots.pageSettings')) {
- return null;
- }
-
- if ($field->isNotEmpty() && !A::has(self::DEFAULT_VALUES, $field->value())) {
- return $field;
- }
- }
-
- return null;
- }
-
- /**
- * Maps Open Graph fields to Meta fields for fallbackFields
- * cascade method
- */
- public const FALLBACK_MAP = [
- 'ogTitle' => 'metaTitle',
- 'ogDescription' => 'metaDescription',
- 'ogTemplate' => 'metaTemplate',
- ];
-
- /**
- * We only allow the following cascade methods for fallbacks,
- * because we don't want to fallback to the config defaults for
- * Meta fields, because we most likely already have those set
- * for the Open Graph fields
- */
- public const FALLBACK_CASCADE = [
- 'fields',
- 'programmatic',
- 'parent',
- 'site'
- ];
-
- /**
- * Get the meta value for a given key using the fallback fields
- * defined above (usually Open Graph > Meta Fields)
- */
- protected function fallbackFields(string $key): Field|null
- {
- if (array_key_exists($key, self::FALLBACK_MAP)) {
- $fallback = self::FALLBACK_MAP[$key];
- $cascade = option('tobimori.seo.cascade');
-
- foreach (array_intersect($cascade, self::FALLBACK_CASCADE) as $method) {
- if ($field = $this->$method($fallback)) {
- return $field;
- }
- }
- }
-
- return null;
- }
-
- protected function findTagForField(string $fieldName): string|null
- {
- return array_search($fieldName, $this->metaArray());
- }
-
- /**
- * Get the meta value for a given key from the page's meta
- * array, which can be set in the page's model metaDefaults method
- */
- protected function programmatic(string $key): Field|null
- {
- if (!$this->metaDefaults) {
- return null;
- }
-
- // Check if the key (field name) is in the array syntax
- if (array_key_exists($key, $this->metaDefaults)) {
- $val = $this->metaDefaults[$key];
- }
-
- /* If there is no programmatic value for the key,
- * try looking it up in the meta array
- * maybe it is a meta tag and not a field name?
- */
- if (!isset($val) && ($key = $this->findTagForField($key)) && array_key_exists($key, $this->metaDefaults)) {
- $val = $this->metaDefaults[$key];
- }
-
- if (isset($val)) {
- if (is_callable($val)) {
- $val = $val($this->page);
- }
-
- if (is_array($val)) {
- $val = $val['content'] ?? $val['href'] ?? null;
-
- // Last sanity check, if the array syntax doesn't have a supported key
- if ($val === null) {
- // Remove the key from the consumed array, so it doesn't get filtered out
- // (we can assume the entry is a custom meta tag that uses different attributes)
- $this->consumed = array_filter($this->consumed, fn ($item) => $item !== $key);
- return null;
- }
- }
-
- if (is_a($val, 'Kirby\Content\Field')) {
- return new Field($this->page, $key, $val->value());
- }
-
- return new Field($this->page, $key, $val);
- }
-
- return null;
- }
-
- /**
- * Get the meta value for a given key from the page's parent,
- * if the page is allowed to inherit the value
- */
- protected function parent(string $key): Field|null
- {
- if ($this->canInherit($key)) {
- $parent = $this->page->parent();
- $parentMeta = new Meta($parent, $this->lang);
- if ($value = $parentMeta->get($key)) {
- return $value;
- }
- }
-
- return null;
- }
-
- /**
- * Get the meta value for a given key from the
- * site's meta blueprint & content
- */
- protected function site(string $key): Field|null
- {
- if (($site = $this->page->site()->content($this->lang)->get($key)) && ($site->isNotEmpty() && !A::has(self::DEFAULT_VALUES, $site->value))) {
- return $site;
- }
-
- return null;
- }
-
- /**
- * Get the meta value for a given key from the
- * config.php options
- */
- protected function options(string $key): Field|null
- {
- if ($option = option("tobimori.seo.default.{$key}")) {
- if (is_callable($option)) {
- $option = $option($this->page);
- }
-
- if (is_a($option, 'Kirby\Content\Field')) {
- return $option;
- }
-
- return new Field($this->page, $key, $option);
- }
-
- return null;
- }
-
- /**
- * Checks if the page can inherit a meta value from its parent
- */
- private function canInherit(string $key): bool
- {
- $parent = $this->page->parent();
- if (!$parent) {
- return false;
- }
-
- $inherit = $parent->metaInherit()->split();
- if (Str::contains($key, 'robots') && A::has($inherit, 'robots')) {
- return true;
- }
- return A::has($inherit, $key);
- }
-
- /**
- * Applies the title template, and returns the correct title
- */
- public function metaTitle()
- {
- $title = $this->get('metaTitle');
- $template = $this->get('metaTemplate');
-
- $useTemplate = $this->page->useTitleTemplate();
- $useTemplate = $useTemplate->isEmpty() ? true : $useTemplate->toBool();
-
- $string = $title->value();
- if ($useTemplate) {
- $string = $this->page->toString(
- $template,
- ['title' => $title]
- );
- }
-
- return new Field(
- $this->page,
- 'metaTitle',
- $string
- );
- }
-
- /**
- * Applies the OG title template, and returns the OG Title
- */
- public function ogTitle()
- {
- $title = $this->get('metaTitle');
- $template = $this->get('ogTemplate');
-
- $useTemplate = $this->page->useOgTemplate();
- $useTemplate = $useTemplate->isEmpty() ? true : $useTemplate->toBool();
-
- $string = $title->value();
- if ($useTemplate) {
- $string = $this->page->toString(
- $template,
- ['title' => $title]
- );
- }
-
- return new Field(
- $this->page,
- 'ogTitle',
- $string
- );
- }
-
- /**
- * Gets the canonical url for the page
- */
- public function canonicalUrl()
- {
- return $this->page->site()->canonicalFor($this->page->url());
- }
-
- /**
- * Get the Twitter username from an account url set in the site options
- */
- public function twitterSite()
- {
- $accs = $this->page->site()->socialMediaAccounts()->toObject();
- $username = '';
-
- if ($accs->twitter()->isNotEmpty()) {
- // tries to match all twitter urls, and extract the username
- $matches = [];
- preg_match('/^(https?:\/\/)?(www\.)?twitter\.com\/(#!\/)?@?(?[^\/\?]*)$/', $accs->twitter()->value(), $matches);
- if (isset($matches['name'])) {
- $username = $matches['name'];
- }
- }
-
- return new Field($this->page, 'twitter', $username);
- }
-
- /**
- * Gets the date format for modified meta tags, based on the registered date handler
- */
- public function dateFormat(): string
- {
- if ($custom = option('tobimori.seo.dateFormat')) {
- if (is_callable($custom)) {
- return $custom($this->page);
- }
-
- return $custom;
- }
-
- switch (option('date.handler')) {
- case 'strftime':
- return '%Y-%m-%d';
- case 'intl':
- return 'yyyy-MM-dd';
- case 'date':
- default:
- return 'Y-m-d';
- }
- }
-
- /**
- * Get the pages' robots rules as string
- */
- public function robots()
- {
- $robots = [];
- foreach (option('tobimori.seo.robots.types') as $type) {
- if (!$this->get('robots' . Str::ucfirst($type))->toBool()) {
- $robots[] = 'no' . Str::lower($type);
- }
- }
-
- if (A::count($robots) === 0) {
- $robots = ['all'];
- }
-
- return A::join($robots, ',');
- }
-
- /**
- * Get the og:image url
- */
- public function ogImage(): string|null
- {
- $field = $this->get('ogImage');
-
- if ($ogImage = $field->toFile()?->thumb([
- 'width' => 1200,
- 'height' => 630,
- 'crop' => true,
- ])) {
- return $ogImage->url();
- }
-
- if ($field->isNotEmpty()) {
- return $field->value();
- }
-
- return null;
- }
-
- /**
- * Helper method the get the current page from the URL path,
- * for use in programmatic blueprints
- */
- public static function currentPage(): Page|null
- {
- $path = App::instance()->request()->url()->toString();
- $matches = Str::match($path, "/pages\/([a-zA-Z0-9-_+]+)\/?/m");
- $segments = Str::split($matches[1], '+');
-
- $page = App::instance()->site();
- foreach ($segments as $segment) {
- if ($page = $page->findPageOrDraft($segment)) {
- continue;
- }
-
- return null;
- }
-
- return $page;
- }
-}
diff --git a/site/plugins/kirby-seo/classes/SchemaSingleton.php b/site/plugins/kirby-seo/classes/SchemaSingleton.php
deleted file mode 100644
index c5057b7..0000000
--- a/site/plugins/kirby-seo/classes/SchemaSingleton.php
+++ /dev/null
@@ -1,29 +0,0 @@
-id() ?? 'default'][$type])) {
- self::$instances[$page?->id() ?? 'default'][$type] = Schema::{$type}();
- }
-
- return self::$instances[$page?->id() ?? 'default'][$type];
- }
-
- public static function getInstances(Page|null $page = null): array
- {
- return self::$instances[$page?->id() ?? 'default'] ?? [];
- }
-}
diff --git a/site/plugins/kirby-seo/classes/Sitemap/Sitemap.php b/site/plugins/kirby-seo/classes/Sitemap/Sitemap.php
deleted file mode 100644
index 7264bcf..0000000
--- a/site/plugins/kirby-seo/classes/Sitemap/Sitemap.php
+++ /dev/null
@@ -1,82 +0,0 @@
-key;
- }
-
- public function loc(): string
- {
- return kirby()->site()->canonicalFor('sitemap-' . $this->key . '.xml');
- }
-
- public function lastmod(): string
- {
- $lastmod = 0;
- foreach ($this as $url) {
- $lastmod = max($lastmod, strtotime($url->lastmod()));
- }
-
- if ($lastmod > 0) {
- return date('c', $lastmod);
- }
-
- return date('c');
- }
-
- public function createUrl(string $loc): SitemapUrl
- {
- $url = $this->makeUrl($loc);
- $this->append($url);
- return $url;
- }
-
- public static function makeUrl(string $url): SitemapUrl
- {
- return new SitemapUrl($url);
- }
-
- public function toDOMNode(DOMDocument $doc = new DOMDocument('1.0', 'UTF-8'))
- {
- $doc->formatOutput = true;
-
- $root = $doc->createElement('sitemap');
- foreach (['loc', 'lastmod'] as $key) {
- $root->appendChild($doc->createElement($key, $this->$key()));
- }
-
- return $root;
- }
-
- public function toString(): string
- {
- $doc = new DOMDocument('1.0', 'UTF-8');
- $doc->formatOutput = true;
-
- $doc->appendChild($doc->createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="/sitemap.xsl"'));
-
- $root = $doc->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'urlset');
- $root->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xhtml', 'http://www.w3.org/1999/xhtml');
- $root->setAttribute('seo-version', App::plugin('tobimori/seo')->version());
-
- foreach ($this as $url) {
- $root->appendChild($url->toDOMNode($doc));
- }
-
- $doc->appendChild($root);
- return $doc->saveXML();
- }
-}
diff --git a/site/plugins/kirby-seo/classes/Sitemap/SitemapIndex.php b/site/plugins/kirby-seo/classes/Sitemap/SitemapIndex.php
deleted file mode 100644
index e8d12a2..0000000
--- a/site/plugins/kirby-seo/classes/Sitemap/SitemapIndex.php
+++ /dev/null
@@ -1,100 +0,0 @@
-make($key);
- $this->append($sitemap);
- return $sitemap;
- }
-
- public static function make(string $key = 'pages'): Sitemap
- {
- return new Sitemap($key);
- }
-
- public static function makeUrl(string $url): SitemapUrl
- {
- return new SitemapUrl($url);
- }
-
- public function toString(): string
- {
- $doc = new DOMDocument('1.0', 'UTF-8');
- $doc->formatOutput = true;
-
- $doc->appendChild($doc->createProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="sitemap.xsl"'));
-
- $root = $doc->createElementNS('http://www.sitemaps.org/schemas/sitemap/0.9', 'sitemapindex');
- $root->setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns:xhtml', 'http://www.w3.org/1999/xhtml');
- $root->setAttribute('seo-version', App::plugin('tobimori/seo')->version());
- $doc->appendChild($root);
-
- foreach ($this as $sitemap) {
- $root->appendChild($sitemap->toDOMNode($doc));
- }
-
- return $doc->saveXML();
- }
-
- public function isValidIndex(string $key = null): bool
- {
- if ($key === null) {
- return $this->count() > 1;
- }
-
- return !!$this->findBy('key', $key) && $this->count() > 1;
- }
-
- public function generate(): void
- {
- $generator = option('tobimori.seo.sitemap.generator');
- if (is_callable($generator)) {
- $generator($this);
- }
- }
-
- public function render(Page $page): string|null
- {
- // There always has to be at least one index,
- // otherwise the sitemap will fail to render
- if ($this->count() === 0) {
- $this->generate();
- }
-
- if ($this->count() === 0) {
- $this->create();
- }
-
- if (($index = $page->content()->get('index'))->isEmpty()) {
- // If there is only one index, we do not need to render the index page
- return $this->count() > 1 ? $this->toString() : $this->first()->toString();
- }
-
- $sitemap = $this->findBy('key', $index->value());
- if ($sitemap) {
- return $sitemap->toString();
- }
-
- return null;
- }
-}
diff --git a/site/plugins/kirby-seo/classes/Sitemap/SitemapUrl.php b/site/plugins/kirby-seo/classes/Sitemap/SitemapUrl.php
deleted file mode 100644
index 886844c..0000000
--- a/site/plugins/kirby-seo/classes/Sitemap/SitemapUrl.php
+++ /dev/null
@@ -1,113 +0,0 @@
-loc;
- }
-
- $this->loc = $url;
- return $this;
- }
-
- public function lastmod(string $lastmod = null): SitemapUrl|string
- {
- if ($lastmod === null) {
- return $this->lastmod;
- }
-
- $this->lastmod = date('c', $lastmod);
- return $this;
- }
-
- public function changefreq(string $changefreq = null): SitemapUrl|string
- {
- if ($changefreq === null) {
- return $this->changefreq;
- }
-
- $this->changefreq = $changefreq;
- return $this;
- }
-
- public function priority(string $priority = null): SitemapUrl|string
- {
- if ($priority === null) {
- return $this->priority;
- }
-
- $this->priority = $priority;
- return $this;
- }
-
- public function alternates(array $alternates = []): SitemapUrl|array
- {
- if (empty($alternates)) {
- return $this->alternates;
- }
-
- foreach ($alternates as $alternate) {
- foreach (['href', 'hreflang'] as $key) {
- if (!array_key_exists($key, $alternate)) {
- new Exception("[kirby-seo] The alternate link to '{$this->loc()} is missing the '{$key}' attribute");
- }
- }
- }
-
-
- $this->alternates = $alternates;
- return $this;
- }
-
- public function toDOMNode(DOMDocument $doc = new DOMDocument('1.0', 'UTF-8')): DOMNode
- {
- $doc->formatOutput = true;
-
- $node = $doc->createElement('url');
-
- foreach (array_diff_key(get_object_vars($this), array_flip(['alternates'])) as $key => $value) {
- $node->appendChild($doc->createElement($key, $value));
- }
-
- if (!empty($this->alternates())) {
- foreach ($this->alternates() as $alternate) {
- $alternateNode = $doc->createElement('xhtml:link');
- foreach ($alternate as $key => $value) {
- $alternateNode->setAttribute($key, $value);
- }
-
- $node->appendChild($alternateNode);
- }
- }
-
- return $node;
- }
-
- public function toString(): string
- {
- $doc = new DOMDocument('1.0', 'UTF-8');
- $doc->formatOutput = true;
-
- $node = $this->toDOMNode();
- $doc->appendChild($node);
-
- return $doc->saveXML($node);
- }
-}
diff --git a/site/plugins/kirby-seo/composer.json b/site/plugins/kirby-seo/composer.json
deleted file mode 100644
index b2d5582..0000000
--- a/site/plugins/kirby-seo/composer.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "tobimori/kirby-seo",
- "description": "The ultimate Kirby SEO toolkit",
- "type": "kirby-plugin",
- "version": "1.1.2",
- "license": "MIT",
- "homepage": "https://github.com/tobimori/kirby-seo#readme",
- "authors": [
- {
- "name": "Tobias Möritz",
- "email": "tobias@moeritz.io"
- }
- ],
- "autoload": {
- "psr-4": {
- "tobimori\\Seo\\": "classes"
- }
- },
- "require": {
- "php": ">=8.1.0",
- "getkirby/composer-installer": "^1.2.1",
- "spatie/schema-org": "^3.14"
- },
- "require-dev": {
- "getkirby/cms": "^4.0",
- "getkirby/cli": "^1.2",
- "friendsofphp/php-cs-fixer": "^3.48"
- },
- "scripts": {
- "dist": "composer install --no-dev --optimize-autoloader"
- },
- "config": {
- "optimize-autoloader": true,
- "allow-plugins": {
- "getkirby/composer-installer": true
- }
- },
- "extra": {
- "kirby-cms-path": false
- }
-}
diff --git a/site/plugins/kirby-seo/config/api.php b/site/plugins/kirby-seo/config/api.php
deleted file mode 100644
index 0470e1c..0000000
--- a/site/plugins/kirby-seo/config/api.php
+++ /dev/null
@@ -1,102 +0,0 @@
- [
- 'dirtyPageOrSite' => function (string $slug) {
- $kirby = kirby();
- $page = $slug == 'site' ? $kirby->site() : $kirby->page(Str::replace($slug, '+', '/'));
-
- if ($this->requestBody()) {
- $form = Form::for($page, [ // Form class handles transformation of changed items
- 'ignoreDisabled' => true,
- 'input' => array_merge(['title' => $page->title()], $page->content()->data(), $this->requestBody()),
- 'language' => $kirby->language()?->code()
- ]);
-
- $page = $page->clone(['content' => $form->data()]);
- }
-
- return $page;
- }
- ],
- 'routes' => [
- [
- 'pattern' => '/k-seo/(:any)/heading-structure',
- 'method' => 'POST',
- 'action' => function (string $slug) {
- $model = $this->dirtyPageOrSite($slug);
-
- if ($model instanceof Page) {
- $page = $model->render();
- $dom = new DOMDocument();
- $dom->loadHTML(htmlspecialchars_decode(mb_convert_encoding(htmlentities($page, ENT_COMPAT, 'UTF-8'), 'ISO-8859-1', 'UTF-8'), ENT_QUOTES), libxml_use_internal_errors(true));
-
- $xpath = new DOMXPath($dom);
- $headings = $xpath->query('//h1|//h2|//h3|//h4|//h5|//h6');
- $data = [];
-
- foreach ($headings as $heading) {
- $data[] = [
- 'level' => (int)str_replace('h', '', $heading->nodeName),
- 'text' => $heading->textContent,
- ];
- }
-
- return $data;
- }
-
- return null;
- }
- ],
- [
- 'pattern' => '/k-seo/(:any)/seo-preview',
- 'method' => 'POST',
- 'action' => function (string $slug) {
- $model = $this->dirtyPageOrSite($slug);
-
- if ($model instanceof Site) {
- $model = $model->homePage();
- }
-
- if ($model instanceof Page) {
- $meta = $model->metadata();
-
- return [
- 'page' => $model->slug(),
- 'url' => $model->url(),
- 'title' => $meta->metaTitle()->value(),
- 'description' => $meta->metaDescription()->value(),
- 'ogSiteName' => $meta->ogSiteName()->value(),
- 'ogTitle' => $meta->ogTitle()->value(),
- 'ogDescription' => $meta->ogDescription()->value(),
- 'ogImage' => $meta->ogImage(),
- 'twitterCardType' => $meta->twitterCardType()->value(),
- ];
- }
-
- return null;
- }
- ],
- [
- 'pattern' => '/k-seo/(:any)/robots',
- 'method' => 'POST',
- 'action' => function (string $slug) {
- $model = $this->dirtyPageOrSite($slug);
- if (!($model instanceof Page)) {
- return null;
- }
- $robots = $model->robots();
-
- return [
- 'active' => option('tobimori.seo.robots.indicator', option('tobimori.seo.robots.active', true)),
- 'state' => $robots,
- ];
- }
- ]
- ]
-];
diff --git a/site/plugins/kirby-seo/config/commands/hello.php b/site/plugins/kirby-seo/config/commands/hello.php
deleted file mode 100644
index f41b20b..0000000
--- a/site/plugins/kirby-seo/config/commands/hello.php
+++ /dev/null
@@ -1,11 +0,0 @@
- 'Hello world',
- 'args' => [],
- 'command' => static function (CLI $cli): void {
- $cli->success('Hello world! This command is a preparation for a future release.');
- }
-];
diff --git a/site/plugins/kirby-seo/config/hooks.php b/site/plugins/kirby-seo/config/hooks.php
deleted file mode 100644
index f5c8a9f..0000000
--- a/site/plugins/kirby-seo/config/hooks.php
+++ /dev/null
@@ -1,27 +0,0 @@
- function (Page $newPage, Page $oldPage) {
- foreach ($newPage->kirby()->option('tobimori.seo.robots.types') as $robots) {
- $upper = Str::ucfirst($robots);
- if ($newPage->content()->get("robots{$upper}")->value() === "") {
- $newPage = $newPage->update([
- "robots{$upper}" => 'default'
- ]);
- }
- }
- },
- 'page.render:before' => function (string $contentType, array $data, Page $page) {
- if (option('tobimori.seo.generateSchema')) {
- $page->schema('WebSite')
- ->url($page->metadata()->canonicalUrl())
- ->copyrightYear(date('Y'))
- ->description($page->metadata()->metaDescription())
- ->name($page->metadata()->metaTitle())
- ->headline($page->metadata()->title());
- }
- },
-];
diff --git a/site/plugins/kirby-seo/config/options.php b/site/plugins/kirby-seo/config/options.php
deleted file mode 100644
index 0d5ea67..0000000
--- a/site/plugins/kirby-seo/config/options.php
+++ /dev/null
@@ -1,82 +0,0 @@
- [
- 'fields',
- 'programmatic',
- // 'fallbackFields', // fallback to meta fields for open graph fields
- 'parent',
- 'site',
- 'options'
- ],
- 'default' => [ // default field values for metadata, format is [field => value]
- 'metaTitle' => fn (Page $page) => $page->title(),
- 'metaTemplate' => '{{ title }} - {{ site.title }}',
- 'ogTemplate' => '{{ title }}',
- 'ogSiteName' => fn (Page $page) => $page->site()->title(),
- 'ogType' => 'website',
- 'twitterCardType' => 'summary',
- 'ogDescription' => fn (Page $page) => $page->metadata()->metaDescription(),
- 'twitterCreator' => fn (Page $page) => $page->metadata()->twitterSite(),
- 'lang' => fn (Page $page) => $page->kirby()->language()?->locale(LC_ALL) ?? $page->kirby()->option('tobimori.seo.lang', 'en_US'),
- // default for robots: noIndex if global index configuration is set, otherwise fall back to page status
- 'robotsIndex' => function (Page $page) {
- $index = $page->kirby()->option('tobimori.seo.robots.index');
- if (is_callable($index)) {
- $index = $index();
- }
-
- if (!$index) {
- return false;
- }
-
- return $page->kirby()->option('tobimori.seo.robots.followPageStatus', true) ? $page->isListed() : true;
- },
- 'robotsFollow' => fn (Page $page) => $page->kirby()->option('tobimori.seo.default.robotsIndex')($page),
- 'robotsArchive' => fn (Page $page) => $page->kirby()->option('tobimori.seo.default.robotsIndex')($page),
- 'robotsImageindex' => fn (Page $page) => $page->kirby()->option('tobimori.seo.default.robotsIndex')($page),
- 'robotsSnippet' => fn (Page $page) => $page->kirby()->option('tobimori.seo.default.robotsIndex')($page),
- ],
- 'socialMedia' => [ // default fields for social media links, format is [field => placeholder]
- 'twitter' => 'https://twitter.com/my-company',
- 'facebook' => 'https://facebook.com/my-company',
- 'instagram' => 'https://instagram.com/my-company',
- 'youtube' => 'https://youtube.com/channel/my-company',
- 'linkedin' => 'https://linkedin.com/company/my-company',
- ],
- 'previews' => [
- 'google',
- 'facebook',
- 'slack'
- ],
- 'robots' => [
- 'active' => true, // whether robots handling should be done by the plugin
- 'followPageStatus' => true, // should unlisted pages be noindex by default?
- 'pageSettings' => true, // whether to have robots settings on each page
- 'indicator' => true, // whether the indicator should be shown in the panel
- 'index' => fn () => !option('debug'), // default site-wide robots setting
- 'sitemap' => null, // sets sitemap url, will be replaced by plugin sitemap in the future
- 'content' => [], // custom robots content
- 'types' => ['index', 'follow', 'archive', 'imageindex', 'snippet'] // available robots types
- ],
- 'sitemap' => [
- 'active' => true,
- 'redirect' => true, // redirect /sitemap to /sitemap.xml
- 'lang' => 'en',
- 'generator' => require __DIR__ . '/options/sitemap.php',
- 'changefreq' => 'weekly',
- 'groupByTemplate' => false,
- 'excludeTemplates' => ['error'],
- 'priority' => fn (Page $p) => number_format(($p->isHomePage()) ? 1 : max(1 - 0.2 * $p->depth(), 0.2), 1),
- ],
- 'files' => [
- 'parent' => null,
- 'template' => null,
- ],
- 'canonicalBase' => null, // base url for canonical links
- 'generateSchema' => true, // whether to generate default schema.org data
- 'lang' => 'en_US', // default language, used for single-language sites
- 'dateFormat' => null, // custom date format
-];
diff --git a/site/plugins/kirby-seo/config/options/sitemap.php b/site/plugins/kirby-seo/config/options/sitemap.php
deleted file mode 100644
index 2cf2486..0000000
--- a/site/plugins/kirby-seo/config/options/sitemap.php
+++ /dev/null
@@ -1,37 +0,0 @@
-index()->filter(fn ($page) => $page->metadata()->robotsIndex()->toBool() && !in_array($page->intendedTemplate()->name(), $exclude));
-
- if ($group = option('tobimori.seo.sitemap.groupByTemplate')) {
- $pages = $pages->group('intendedTemplate');
- }
-
- if (is_a($pages->first(), 'Kirby\Cms\Page')) {
- $pages = $pages->group(fn () => 'pages');
- }
-
- foreach ($pages as $group) {
- $index = $sitemap->create($group ? $group->first()->intendedTemplate()->name() : 'pages');
-
- foreach ($group as $page) {
- $url = $index->createUrl($page->metadata()->canonicalUrl())
- ->lastmod($page->modified() ?? (int)(date('c')))
- ->changefreq(is_callable($changefreq = option('tobimori.seo.sitemap.changefreq')) ? $changefreq($page) : $changefreq)
- ->priority(is_callable($priority = option('tobimori.seo.sitemap.priority')) ? $priority($page) : $priority);
-
- if (kirby()->languages()->count() > 1 && kirby()->language() !== null) {
- $url->alternates(
- kirby()->languages()->map(fn ($language) => new Obj([
- 'hreflang' => $language->code() === kirby()->language()->code() ? 'x-default' : $language->code(),
- 'href' => $page->url($language->code()),
- ]))->toArray()
- );
- }
- }
- }
-};
diff --git a/site/plugins/kirby-seo/config/pageMethods.php b/site/plugins/kirby-seo/config/pageMethods.php
deleted file mode 100644
index 76c2baf..0000000
--- a/site/plugins/kirby-seo/config/pageMethods.php
+++ /dev/null
@@ -1,11 +0,0 @@
- fn ($type) => SchemaSingleton::getInstance($type, $this),
- 'schemas' => fn () => SchemaSingleton::getInstances($this),
- 'metadata' => fn (?string $lang = null) => new Meta($this, $lang),
- 'robots' => fn (?string $lang = null) => $this->metadata($lang)->robots(),
-];
diff --git a/site/plugins/kirby-seo/config/routes.php b/site/plugins/kirby-seo/config/routes.php
deleted file mode 100644
index fe070f0..0000000
--- a/site/plugins/kirby-seo/config/routes.php
+++ /dev/null
@@ -1,98 +0,0 @@
- 'robots.txt',
- 'action' => function () {
- if (option('tobimori.seo.robots.active', true)) {
- $content = snippet('seo/robots.txt', [], true);
- return new Response($content, 'text/plain', 200);
- }
-
- $this->next();
- }
- ],
- [
- 'pattern' => 'sitemap',
- 'action' => function () {
- if (!option('tobimori.seo.sitemap.redirect', true) || !option('tobimori.seo.sitemap.active', true)) {
- $this->next();
- }
-
- go('/sitemap.xml');
- }
- ],
- [
- 'pattern' => 'sitemap.xsl',
- 'action' => function () {
- if (!option('tobimori.seo.sitemap.active', true)) {
- $this->next();
- }
-
- kirby()->response()->type('text/xsl');
-
- $lang = option('tobimori.seo.sitemap.lang', 'en');
- if (is_callable($lang)) {
- $lang = $lang();
- }
- kirby()->setCurrentTranslation($lang);
-
- return Page::factory([
- 'slug' => 'sitemap',
- 'template' => 'sitemap',
- 'model' => 'sitemap',
- 'content' => [
- 'title' => t('sitemap'),
- ],
- ])->render(contentType: 'xsl');
- }
- ],
- [
- 'pattern' => 'sitemap.xml',
- 'action' => function () {
- if (!option('tobimori.seo.sitemap.active', true)) {
- $this->next();
- }
-
- SitemapIndex::instance()->generate();
- kirby()->response()->type('text/xml');
- return Page::factory([
- 'slug' => 'sitemap',
- 'template' => 'sitemap',
- 'model' => 'sitemap',
- 'content' => [
- 'title' => t('sitemap'),
- 'index' => null,
- ],
- ])->render(contentType: 'xml');
- }
- ],
- [
- 'pattern' => 'sitemap-(:any).xml',
- 'action' => function (string $index) {
- if (!option('tobimori.seo.sitemap.active', true)) {
- $this->next();
- }
-
- SitemapIndex::instance()->generate();
- if (!SitemapIndex::instance()->isValidIndex($index)) {
- $this->next();
- }
-
- kirby()->response()->type('text/xml');
- return Page::factory([
- 'slug' => 'sitemap-' . $index,
- 'template' => 'sitemap',
- 'model' => 'sitemap',
- 'content' => [
- 'title' => t('sitemap'),
- 'index' => $index,
- ],
- ])->render(contentType: 'xml');
- }
- ]
-];
diff --git a/site/plugins/kirby-seo/config/sections.php b/site/plugins/kirby-seo/config/sections.php
deleted file mode 100644
index 74eeef3..0000000
--- a/site/plugins/kirby-seo/config/sections.php
+++ /dev/null
@@ -1,20 +0,0 @@
- [
- 'mixins' => ['headline'],
- 'computed' => [
- 'options' => function () {
- return A::map(option('tobimori.seo.previews'), fn ($item) => [
- 'value' => $item,
- 'text' => t($item)
- ]);
- }
- ]
- ],
- 'heading-structure' => [
- 'mixins' => ['headline']
- ]
-];
diff --git a/site/plugins/kirby-seo/config/siteMethods.php b/site/plugins/kirby-seo/config/siteMethods.php
deleted file mode 100644
index 13e6180..0000000
--- a/site/plugins/kirby-seo/config/siteMethods.php
+++ /dev/null
@@ -1,28 +0,0 @@
- fn ($type) => SchemaSingleton::getInstance($type),
- 'schemas' => fn () => SchemaSingleton::getInstances(),
- 'lang' => fn () => Str::replace(option('tobimori.seo.default.lang')($this->homePage()), '_', '-'),
- 'canonicalFor' => function (string $url) {
- $base = option('tobimori.seo.canonicalBase');
- if (is_callable($base)) {
- $base = $base($url);
- }
-
- if ($base === null) {
- $base = $this->url(); // graceful fallback to site url
- }
-
- if (Str::startsWith($url, $base)) {
- return $url;
- }
-
- $path = Url::path($url);
- return url($base . '/' . $path);
- }
-];
diff --git a/site/plugins/kirby-seo/index.css b/site/plugins/kirby-seo/index.css
deleted file mode 100644
index 0dd6799..0000000
--- a/site/plugins/kirby-seo/index.css
+++ /dev/null
@@ -1 +0,0 @@
-@charset "UTF-8";.k-heading-structure__label{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-2)}.k-heading-structure__label>.k-icon{color:var(--color-gray-700)}.k-heading-structure__label>.k-loader{margin-left:auto;color:var(--color-gray-700)}.k-heading-structure__notice{margin-top:var(--spacing-2);display:flex;align-items:flex-start}.k-heading-structure__notice>.k-icon{margin-top:.125rem;margin-right:var(--spacing-1);color:var(--color-red)}.k-heading-structure__list{overflow:hidden}.k-heading-structure__item{position:relative;background:var(--theme-color-back);padding-top:var(--spacing-px);padding-bottom:var(--spacing-px);display:flex}.k-heading-structure__item__level{font-family:var(--font-mono);font-weight:700;margin-right:var(--spacing-2)}.k-heading-structure__item__text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.k-heading-structure__item.is-invalid{color:var(--color-red)}.k-heading-structure__item.level-2{margin-left:0rem;padding-left:1.6rem}.k-heading-structure__item.level-2:before{content:"";position:absolute;top:calc(50% - .0625rem);left:.4rem;width:.8rem;height:.125rem;background-color:currentColor}.k-heading-structure__item.level-2:after{content:"";position:absolute;bottom:calc(50% - .0625rem);left:.4rem;height:9999px;width:.125rem;background-color:currentColor}.k-heading-structure__item.level-3{margin-left:1.6rem;padding-left:1.6rem}.k-heading-structure__item.level-3:before{content:"";position:absolute;top:calc(50% - .0625rem);left:.4rem;width:.8rem;height:.125rem;background-color:currentColor}.k-heading-structure__item.level-3:after{content:"";position:absolute;bottom:calc(50% - .0625rem);left:.4rem;height:9999px;width:.125rem;background-color:currentColor}.k-heading-structure__item.level-4{margin-left:3.2rem;padding-left:1.6rem}.k-heading-structure__item.level-4:before{content:"";position:absolute;top:calc(50% - .0625rem);left:.4rem;width:.8rem;height:.125rem;background-color:currentColor}.k-heading-structure__item.level-4:after{content:"";position:absolute;bottom:calc(50% - .0625rem);left:.4rem;height:9999px;width:.125rem;background-color:currentColor}.k-heading-structure__item.level-5{margin-left:4.8rem;padding-left:1.6rem}.k-heading-structure__item.level-5:before{content:"";position:absolute;top:calc(50% - .0625rem);left:.4rem;width:.8rem;height:.125rem;background-color:currentColor}.k-heading-structure__item.level-5:after{content:"";position:absolute;bottom:calc(50% - .0625rem);left:.4rem;height:9999px;width:.125rem;background-color:currentColor}.k-heading-structure__item.level-6{margin-left:6.4rem;padding-left:1.6rem}.k-heading-structure__item.level-6:before{content:"";position:absolute;top:calc(50% - .0625rem);left:.4rem;width:.8rem;height:.125rem;background-color:currentColor}.k-heading-structure__item.level-6:after{content:"";position:absolute;bottom:calc(50% - .0625rem);left:.4rem;height:9999px;width:.125rem;background-color:currentColor}.k-facebook-preview{background:#f0f2f5;border:1px solid #ced0d4;overflow:hidden;border-radius:var(--rounded)}.k-facebook-preview__image{width:100%;height:0;padding-bottom:52.355%;position:relative}.k-facebook-preview__image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.k-facebook-preview__content{padding:.75rem 1rem}.k-facebook-preview__title,.k-facebook-preview__description,.k-facebook-preview__url{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:1}.k-facebook-preview__url{color:#65676b;font-size:.75rem;text-transform:uppercase;line-height:1.1;margin-bottom:.25rem}.k-facebook-preview__title{font-weight:600;line-height:1.1765;font-size:1rem;color:#050505;margin:.3125rem 0}.k-facebook-preview__description{line-height:1.3333;color:#65676b;font-size:.875rem}.k-google-search-preview{padding:1em;background:#fff;border:1px solid #ccc;letter-spacing:-.005em;border-radius:var(--rounded)}.k-google-search-preview__headline,.k-google-search-preview__paragraph{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.k-google-search-preview__headline{margin-top:0;margin-bottom:.25em;font-size:1.25em;font-weight:400;color:#1a0dab;-webkit-line-clamp:1}.k-google-search-preview__headline:hover{text-decoration:underline}.k-google-search-preview__url{display:inline-block;margin-bottom:.5em;font-size:.875em;line-height:1.3;color:#202124;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:100%}.k-google-search-preview__url>*{margin-right:.25em}.k-google-search-preview__url__breadcrumb{color:#5f6368;display:inline-block}.k-google-search-preview__url__breadcrumb:before{content:"› "}.k-google-search-preview__url .k-icon{margin-left:.1em}.k-google-search-preview__paragraph{margin:0;font-size:.875em;line-height:1.3em;color:#3c4043;-webkit-line-clamp:3}.k-slack-preview{max-width:32.5rem;position:relative;padding-left:1rem;line-height:1.46666667;font-size:.9375rem}.k-slack-preview:before{position:absolute;content:"";top:0;left:0;bottom:0;width:.25rem;border-radius:.5rem;background:#ddd}.k-slack-preview__site-name{display:flex;align-items:center;color:#717274}.k-slack-preview__title{font-weight:700;display:block;color:#0576b9;cursor:pointer}.k-slack-preview__title:hover{text-decoration:underline}.k-slack-preview__description{color:#2c2d30}.k-slack-preview__image{border-radius:.5rem;max-width:22.5rem;overflow:hidden;position:relative;margin-top:.5rem}.k-slack-preview__image:before{border-radius:.5rem;content:"";top:0;right:0;bottom:0;left:0;z-index:2;position:absolute;box-shadow:inset 0 0 0 1px #0000001a}.k-slack-preview__image img{width:100%;height:100%;display:block}.k-field-name-seo-preview-type .k-field-header{display:none}.k-seo-preview__inner{margin-top:var(--spacing-2)}.k-seo-preview__debugger{margin-top:1rem;display:flex;font-size:var(--text-sm);color:var(--color-gray-700);line-height:1.25rem;width:-moz-max-content;width:max-content;margin-left:auto}.k-seo-preview__debugger:hover{text-decoration:underline;color:var(--text-gray-800)}.k-seo-preview__debugger>.k-icon{margin-left:var(--spacing-2)}.k-seo-preview__label{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-2)}.k-seo-preview__label>.k-icon{color:var(--color-gray-700)}.k-seo-preview__label>.k-loader{margin-left:auto;color:var(--color-gray-700)}.k-page-view-robots{--color-green-boost: -15%}
diff --git a/site/plugins/kirby-seo/index.js b/site/plugins/kirby-seo/index.js
deleted file mode 100644
index daf1e3c..0000000
--- a/site/plugins/kirby-seo/index.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(){"use strict";function l(s,e,t,a,i,c,_,X){var n=typeof s=="function"?s.options:s;e&&(n.render=e,n.staticRenderFns=t,n._compiled=!0),a&&(n.functional=!0),c&&(n._scopeId="data-v-"+c);var o;if(_?(o=function(r){r=r||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!r&&typeof __VUE_SSR_CONTEXT__<"u"&&(r=__VUE_SSR_CONTEXT__),i&&i.call(this,r),r&&r._registeredComponents&&r._registeredComponents.add(_)},n._ssrRegister=o):i&&(o=X?function(){i.call(this,(n.functional?this.parent:this).$root.$options.shadowRoot)}:i),o)if(n.functional){n._injectStyles=o;var W=n.render;n.render=function(q,u){return o.call(u),W(q,u)}}else{var d=n.beforeCreate;n.beforeCreate=d?[].concat(d,o):[o]}return{exports:s,options:n}}const p={data(){return{label:null,value:null,isLoading:!0}},created(){this.isLoading=!0,this.load().then(s=>{this.label=s.label}),this.handleLoad(),this.debouncedLoad=this.$helper.debounce(s=>{this.handleLoad(s)},200)},computed:{changes(){return this.$store.getters["content/changes"]()},incorrectOrder(){var s;return(s=this.value)==null?void 0:s.some((e,t)=>{var a;return e.level>(((a=this.value[t-1])==null?void 0:a.level)??0)+1})},multipleH1(){var s;return((s=this.value)==null?void 0:s.filter(e=>e.level===1).length)>1},noH1(){var s;return((s=this.value)==null?void 0:s.filter(e=>e.level===1).length)===0}},methods:{async handleLoad(s){this.isLoading=!0;const e=panel.view.props.model.id;if(!e)throw new Error("[kirby-seo] The Heading structure section is only available for pages");const t=await panel.api.post(`/k-seo/${e.replaceAll("/","+")}/heading-structure`,s??this.changes);this.value=t,this.isLoading=!1},itemInvalid(s,e){var t;return!!(s.level>(((t=this.value[e-1])==null?void 0:t.level)??0)+1||s.level===1&&this.value[e-1]||s.level===1&&this.value.filter(a=>a.level===1).length>1)}},watch:{changes(s){this.debouncedLoad(s)}}};var v=function(){var e=this,t=e._self._c;return e.value?t("div",{staticClass:"k-section k-heading-structure"},[t("div",{staticClass:"k-field-header k-heading-structure__label k-label k-field-label"},[t("k-icon",{attrs:{type:"headline"}}),t("span",{staticClass:"k-label-text"},[e._v(e._s(e.label||e.$t("heading-structure")))]),e.isLoading?t("k-loader"):e._e()],1),t("k-box",{attrs:{theme:"white"}},[t("ol",{staticClass:"k-heading-structure__list"},e._l(e.value,function(a,i){return t("li",{key:i,class:`k-heading-structure__item level-${a.level} ${e.itemInvalid(a,i)?"is-invalid":""}`,style:`z-index: ${e.value.length-i}`},[t("span",{staticClass:"k-heading-structure__item__level"},[e._v("H"+e._s(a.level))]),t("span",{staticClass:"k-heading-structure__item__text"},[e._v(e._s(a.text))])])}),0)]),e.incorrectOrder&&!e.noH1?t("k-box",{staticClass:"k-heading-structure__notice",attrs:{theme:"negative"}},[t("k-icon",{attrs:{type:"alert"}}),t("k-text",[e._v(e._s(e.$t("incorrect-heading-order")))])],1):e._e(),e.multipleH1?t("k-box",{staticClass:"k-heading-structure__notice",attrs:{theme:"negative"}},[t("k-icon",{attrs:{type:"alert"}}),t("k-text",[e._v(e._s(e.$t("multiple-h1-tags")))])],1):e._e(),e.noH1?t("k-box",{staticClass:"k-heading-structure__notice",attrs:{theme:"negative"}},[t("k-icon",{attrs:{type:"alert"}}),t("k-text",[e._v(e._s(e.$t("missing-h1-tag")))])],1):e._e()],1):e._e()},g=[],h=l(p,v,g,!1,null,null,null,null);const f=h.exports,k=Object.freeze(Object.defineProperty({__proto__:null,default:f},Symbol.toStringTag,{value:"Module"})),b={props:{ogTitle:String,url:String,ogDescription:String,ogImage:String},computed:{host(){return new URL(this.url).host}}};var m=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"k-facebook-preview"},[e.ogImage?t("div",{staticClass:"k-facebook-preview__image"},[t("img",{staticClass:"k-facebook-preview__img",attrs:{src:e.ogImage}})]):e._e(),t("div",{staticClass:"k-facebook-preview__content"},[t("span",{staticClass:"k-facebook-preview__url"},[e._v(e._s(e.host))]),t("span",{staticClass:"k-facebook-preview__title"},[e._v(e._s(e.ogTitle))]),t("p",{staticClass:"k-facebook-preview__description"},[e._v(e._s(e.ogDescription))])])]),t("a",{staticClass:"k-seo-preview__debugger",attrs:{href:"https://developers.facebook.com/tools/debug/","aria-label":"Facebook Sharing Debugger",target:"_blank",rel:"noopener noreferrer"}},[e._v(" "+e._s(e.$t("open-debugger"))+" "),t("k-icon",{attrs:{type:"open"}})],1)])},w=[],$=l(b,m,w,!1,null,null,null,null);const C=$.exports,y={props:{title:String,url:String,description:String},computed:{origin(){return new URL(this.url).origin},breadcrumbs(){return this.url.split("/").slice(3)}}};var L=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"k-google-search-preview"},[t("span",{staticClass:"k-google-search-preview__url"},[t("span",[e._v(e._s(e.origin))]),e._l(e.breadcrumbs,function(a,i){return t("span",{key:i,staticClass:"k-google-search-preview__url__breadcrumb"},[e._v(" "+e._s(a)+" ")])})],2),t("h2",{staticClass:"k-google-search-preview__headline"},[e._v(e._s(e.title))]),t("p",{staticClass:"k-google-search-preview__paragraph"},[e._v(" "+e._s(e.description)+" ")])]),t("a",{staticClass:"k-seo-preview__debugger",attrs:{href:"https://search.google.com/search-console","aria-label":"Google Search Console",target:"_blank",rel:"noopener noreferrer"}},[e._v(" "+e._s(e.$t("open-search-console"))+" "),t("k-icon",{attrs:{type:"open"}})],1)])},S=[],x=l(y,L,S,!1,null,null,null,null);const T=x.exports,O={props:{ogTitle:String,ogSiteName:String,ogDescription:String,ogImage:String},computed:{origin(){return new URL(this.url).origin}}};var H=function(){var e=this,t=e._self._c;return t("div",{staticClass:"k-slack-preview"},[t("div",{staticClass:"k-slack-preview__content"},[t("div",{staticClass:"k-slack-preview__site-name"},[e._v(e._s(e.ogSiteName||e.origin))]),t("span",{staticClass:"k-slack-preview__title"},[e._v(e._s(e.ogTitle))]),t("p",{staticClass:"k-slack-preview__description"},[e._v(e._s(e.ogDescription))])]),e.ogImage?t("div",{staticClass:"k-slack-preview__image"},[t("img",{attrs:{src:e.ogImage}})]):e._e()])},R=[],I=l(O,H,R,!1,null,null,null,null);const Z=I.exports,V={components:{GooglePreview:T,FacebookPreview:C,SlackPreview:Z},data(){const s=localStorage.getItem("kSEOPreviewType")??"google";return{label:null,value:null,isLoading:!0,options:[],type:s}},created(){this.isLoading=!0,this.load().then(s=>{this.label=s.label,this.options=s.options}),this.handleLoad(),this.debouncedLoad=this.$helper.debounce(s=>{this.handleLoad(s)},200)},computed:{changes(){return this.$store.getters["content/changes"]()}},methods:{async handleLoad(s){var a,i;this.isLoading=!0;const e=((i=(a=panel.view.props.model)==null?void 0:a.id)==null?void 0:i.replaceAll("/","+"))??"site",t=await panel.api.post(`/k-seo/${e}/seo-preview`,s??this.changes);this.value=t,this.isLoading=!1}},watch:{changes(s){this.debouncedLoad(s)},type(){localStorage.setItem("kSEOPreviewType",this.type)}}};var F=function(){var e=this,t=e._self._c;return t("div",{staticClass:"k-section k-seo-preview"},[t("div",{staticClass:"k-field-header k-seo-preview__label k-label k-field-label"},[t("k-icon",{attrs:{type:"preview"}}),t("span",{staticClass:"k-label-text"},[e._v(e._s(e.label||e.$t("seo-preview")))]),e.isLoading?t("k-loader"):e._e()],1),t("k-select-field",{attrs:{type:"select",name:"seo-preview-type",before:e.$t("seo-preview-for"),options:e.options,empty:!1},model:{value:e.type,callback:function(a){e.type=a},expression:"type"}}),e.value?t("div",{staticClass:"k-seo-preview__inner"},[e.type==="google"?t("google-preview",e._b({},"google-preview",e.value,!1)):e._e(),e.type==="facebook"?t("facebook-preview",e._b({},"facebook-preview",e.value,!1)):e._e(),e.type==="slack"?t("slack-preview",e._b({},"slack-preview",e.value,!1)):e._e()],1):e._e()],1)},P=[],z=l(V,F,P,!1,null,null,null,null);const M=z.exports,U=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),j=Object.freeze({import(s){return Object.entries(s).reduce((t,[a,i])=>(t[A(a)]=i.default,t),{})}});function A(s){return s.substring(s.lastIndexOf("/")+1,s.lastIndexOf(".")).toLowerCase()}const D={extends:"k-page-view",data(){return{dirty:!1,robots:{active:!1,state:[]}}},async mounted(){await this.handleLoad()},methods:{openSeoTab(){panel.view.open(panel.view.path+"?tab=seo")},async handleLoad(s){if(!panel.view.props.tabs.some(t=>t.name==="seo"))return;const e=this.model.id.replaceAll("/","+");this.robots=await panel.api.post(`/k-seo/${e}/robots`,s??this.changes)}},computed:{changes(){return this.$store.getters["content/changes"]()},robotsBtn(){const s={responsive:!0,size:"sm",icon:"robots",theme:"positive",text:this.$t("indicator-index"),variant:"filled"};return this.robots.state.includes("no")&&(s.text=this.$t("indicator-any"),s.theme="notice",s.icon="robots-off"),this.robots.state.includes("noindex")&&(s.text=this.$t("indicator-noindex"),s.theme="negative"),s}},watch:{changes(s){(Object.keys(s).some(e=>e.includes("robots"))||this.dirty)&&(this.dirty=!1,this.handleLoad(s),s&&(this.dirty=!0))}}};var N=function(){var e=this,t=e._self._c;return t("k-panel-inside",{staticClass:"k-page-view",attrs:{"data-has-tabs":e.tabs.length>1,"data-id":e.model.id,"data-locked":e.isLocked,"data-template":e.blueprint},scopedSlots:e._u([{key:"topbar",fn:function(){return[e.model.id?t("k-prev-next",{attrs:{prev:e.prev,next:e.next}}):e._e()]},proxy:!0}])},[t("k-header",{staticClass:"k-page-view-header",attrs:{editable:e.permissions.changeTitle&&!e.isLocked},on:{edit:function(a){return e.$dialog(e.id+"/changeTitle")}},scopedSlots:e._u([{key:"buttons",fn:function(){return[t("k-button-group",[e.permissions.preview&&e.model.previewUrl?t("k-button",{staticClass:"k-page-view-preview",attrs:{link:e.model.previewUrl,title:e.$t("open"),icon:"open",target:"_blank",variant:"filled",size:"sm"}}):e._e(),t("k-button",{staticClass:"k-page-view-options",attrs:{disabled:e.isLocked===!0,dropdown:!0,title:e.$t("settings"),icon:"cog",variant:"filled",size:"sm"},on:{click:function(a){return e.$refs.settings.toggle()}}}),t("k-dropdown-content",{ref:"settings",attrs:{options:e.$dropdown(e.id),"align-x":"end"}}),t("k-languages-dropdown"),e.status?t("k-button",e._b({staticClass:"k-page-view-status",attrs:{variant:"filled"},on:{click:function(a){return e.$dialog(e.id+"/changeStatus")}}},"k-button",e.statusBtn,!1)):e._e(),e.robots&&e.robots.active?t("k-button",e._b({staticClass:"k-page-view-status k-page-view-robots",on:{click:e.openSeoTab}},"k-button",e.robotsBtn,!1)):e._e()],1),t("k-form-buttons",{attrs:{lock:e.lock}})]},proxy:!0}])},[e._v(" "+e._s(e.model.title)+" ")]),t("k-model-tabs",{attrs:{tab:e.tab.name,tabs:e.tabs}}),t("k-sections",{attrs:{blueprint:e.blueprint,empty:e.$t("page.blueprint",{blueprint:e.$esc(e.blueprint)}),lock:e.lock,parent:e.id,tab:e.tab}})],1)},E=[],B=l(D,N,E,!1,null,null,null,null);const G=B.exports;panel.plugin("tobimori/seo",{icons:{robots:' ',"robots-off":' '},sections:j.import(Object.assign({"./sections/heading-structure.vue":k,"./sections/seo-preview.vue":U})),components:{"k-page-view":G}})})();
diff --git a/site/plugins/kirby-seo/index.php b/site/plugins/kirby-seo/index.php
deleted file mode 100644
index 704dd45..0000000
--- a/site/plugins/kirby-seo/index.php
+++ /dev/null
@@ -1,69 +0,0 @@
-') === true
-) {
- throw new Exception('Kirby SEO requires Kirby 4.0.2 or higher.');
-}
-
-App::plugin('tobimori/seo', [
- 'options' => require __DIR__ . '/config/options.php',
- 'sections' => require __DIR__ . '/config/sections.php',
- 'api' => require __DIR__ . '/config/api.php',
- 'siteMethods' => require __DIR__ . '/config/siteMethods.php',
- 'pageMethods' => require __DIR__ . '/config/pageMethods.php',
- 'hooks' => require __DIR__ . '/config/hooks.php',
- 'routes' => require __DIR__ . '/config/routes.php',
- // load all commands automatically
- 'commands' => A::keyBy(A::map(
- Dir::read(__DIR__ . '/config/commands'),
- fn ($file) => A::merge([
- 'id' => 'seo:' . F::name($file),
- ], require __DIR__ . '/config/commands/' . $file)
- ), 'id'),
- // get all files from /translations and register them as language files
- 'translations' => A::keyBy(A::map(
- Dir::read(__DIR__ . '/translations'),
- fn ($file) => A::merge([
- 'lang' => F::name($file),
- ], Yaml::decode(F::read(__DIR__ . '/translations/' . $file)))
- ), 'lang'),
- 'snippets' => [
- 'seo/schemas' => __DIR__ . '/snippets/schemas.php',
- 'seo/head' => __DIR__ . '/snippets/head.php',
- 'seo/robots.txt' => __DIR__ . '/snippets/robots.txt.php',
- ],
- 'templates' => [
- 'sitemap' => __DIR__ . '/templates/sitemap.php',
- 'sitemap.xml' => __DIR__ . '/templates/sitemap.xml.php',
- 'sitemap.xsl' => __DIR__ . '/templates/sitemap.xsl.php',
- ],
- 'blueprints' => [
- 'seo/site' => __DIR__ . '/blueprints/site.yml',
- 'seo/page' => __DIR__ . '/blueprints/page.yml',
- 'seo/fields/og-image' => require __DIR__ . '/blueprints/fields/og-image.php',
- 'seo/fields/og-group' => __DIR__ . '/blueprints/fields/og-group.yml',
- 'seo/fields/meta-group' => __DIR__ . '/blueprints/fields/meta-group.yml',
- 'seo/fields/robots' => require __DIR__ . '/blueprints/fields/robots.php',
- 'seo/fields/site-robots' => require __DIR__ . '/blueprints/fields/site-robots.php',
- 'seo/fields/social-media' => require __DIR__ . '/blueprints/fields/social-media.php',
- ],
-]);
-
-if (!function_exists('schema')) {
- function schema($type)
- {
- return Schema::{$type}();
- }
-}
diff --git a/site/plugins/kirby-seo/package.json b/site/plugins/kirby-seo/package.json
deleted file mode 100644
index b63c9dd..0000000
--- a/site/plugins/kirby-seo/package.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "private": true,
- "license": "MIT",
- "author": "Tobias Möritz",
- "type": "module",
- "scripts": {
- "dev": "kirbyup serve src/index.js",
- "build": "kirbyup src/index.js",
- "prepare": "husky install"
- },
- "devDependencies": {
- "husky": "^9.0.11",
- "kirbyup": "^3.1.4",
- "postcss": "^8.4.35",
- "sass": "^1.71.1"
- }
-}
diff --git a/site/plugins/kirby-seo/postcss.config.js b/site/plugins/kirby-seo/postcss.config.js
deleted file mode 100644
index 9091bd5..0000000
--- a/site/plugins/kirby-seo/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
- plugins: {
- 'postcss-logical': {},
- autoprefixer: {}
- }
-}
diff --git a/site/plugins/kirby-seo/snippets/head.php b/site/plugins/kirby-seo/snippets/head.php
deleted file mode 100644
index a742523..0000000
--- a/site/plugins/kirby-seo/snippets/head.php
+++ /dev/null
@@ -1,13 +0,0 @@
-metadata()->snippetData();
-
-foreach ($tags as $tag) {
- echo Html::tag($tag['tag'], $tag['content'] ?? null, $tag['attributes'] ?? []) . PHP_EOL;
-}
diff --git a/site/plugins/kirby-seo/snippets/robots.txt.php b/site/plugins/kirby-seo/snippets/robots.txt.php
deleted file mode 100644
index 51efe27..0000000
--- a/site/plugins/kirby-seo/snippets/robots.txt.php
+++ /dev/null
@@ -1,58 +0,0 @@
- $data) {
- $str[] = 'User-agent: ' . $ua;
- foreach ($data as $type => $values) {
- foreach ($values as $value) {
- $str[] = $type . ': ' . $value;
- }
- }
- }
-
- $content = A::join($str, PHP_EOL);
- }
-
- echo $content;
-} else {
- // output default
- echo "User-agent: *\n";
-
- $index = option('tobimori.seo.robots.index');
- if (is_callable($index)) {
- $index = $index();
- }
-
- if ($index) {
- echo 'Allow: /';
- echo "\nDisallow: /panel";
- } else {
- echo 'Disallow: /';
- }
-}
-
-if (($sitemap = option('tobimori.seo.robots.sitemap')) || ($sitemapModule = option('tobimori.seo.sitemap.active'))) {
- // Allow closure to be used
- if (is_callable($sitemap)) {
- $sitemap = $sitemap();
- }
-
- // Use default sitemap if none is set
- if (!$sitemap && $sitemapModule) {
- $sitemap = site()->canonicalFor('/sitemap.xml');
- }
-
- // Check again, so falsy values can't be used
- if ($sitemap) {
- echo "\n\nSitemap: {$sitemap}";
- }
-}
diff --git a/site/plugins/kirby-seo/snippets/schemas.php b/site/plugins/kirby-seo/snippets/schemas.php
deleted file mode 100644
index d87c130..0000000
--- a/site/plugins/kirby-seo/snippets/schemas.php
+++ /dev/null
@@ -1,8 +0,0 @@
-schemas() : [], $pageSchema ? $page->schemas() : []) as $schema) {
- echo $schema;
-}
diff --git a/site/plugins/kirby-seo/src/components/Previews/FacebookPreview.vue b/site/plugins/kirby-seo/src/components/Previews/FacebookPreview.vue
deleted file mode 100644
index d467e0f..0000000
--- a/site/plugins/kirby-seo/src/components/Previews/FacebookPreview.vue
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
diff --git a/site/plugins/kirby-seo/src/components/Previews/GooglePreview.vue b/site/plugins/kirby-seo/src/components/Previews/GooglePreview.vue
deleted file mode 100644
index 4273404..0000000
--- a/site/plugins/kirby-seo/src/components/Previews/GooglePreview.vue
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-
-
-
-
diff --git a/site/plugins/kirby-seo/src/components/Previews/SlackPreview.vue b/site/plugins/kirby-seo/src/components/Previews/SlackPreview.vue
deleted file mode 100644
index b3901c4..0000000
--- a/site/plugins/kirby-seo/src/components/Previews/SlackPreview.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
{{ ogSiteName || origin }}
-
{{ ogTitle }}
-
{{ ogDescription }}
-
-
-
-
-
-
-
-
-
-
diff --git a/site/plugins/kirby-seo/src/components/Views/PageView.vue b/site/plugins/kirby-seo/src/components/Views/PageView.vue
deleted file mode 100644
index 871021c..0000000
--- a/site/plugins/kirby-seo/src/components/Views/PageView.vue
+++ /dev/null
@@ -1,150 +0,0 @@
-https://github.com/getkirby/kirby/blob/main/panel/src/components/Views/Pages/PageView.vue
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/site/plugins/kirby-seo/src/index.js b/site/plugins/kirby-seo/src/index.js
deleted file mode 100644
index f664df4..0000000
--- a/site/plugins/kirby-seo/src/index.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import { kirbyup } from 'kirbyup/plugin'
-import PageView from './components/Views/PageView.vue'
-
-panel.plugin('tobimori/seo', {
- icons: {
- robots: ` `,
- 'robots-off': ` `
- },
- sections: kirbyup.import('./sections/*.vue'),
- components: {
- 'k-page-view': PageView
- }
-})
diff --git a/site/plugins/kirby-seo/src/sections/heading-structure.vue b/site/plugins/kirby-seo/src/sections/heading-structure.vue
deleted file mode 100644
index eb5c2c4..0000000
--- a/site/plugins/kirby-seo/src/sections/heading-structure.vue
+++ /dev/null
@@ -1,191 +0,0 @@
-
-
-
-
-
-
- H{{ item.level }}
- {{ item.text }}
-
-
-
-
-
- {{ $t('incorrect-heading-order') }}
-
-
-
- {{ $t('multiple-h1-tags') }}
-
-
-
- {{ $t('missing-h1-tag') }}
-
-
-
-
-
-
-
diff --git a/site/plugins/kirby-seo/src/sections/seo-preview.vue b/site/plugins/kirby-seo/src/sections/seo-preview.vue
deleted file mode 100644
index 209ba08..0000000
--- a/site/plugins/kirby-seo/src/sections/seo-preview.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
-
diff --git a/site/plugins/kirby-seo/templates/sitemap.php b/site/plugins/kirby-seo/templates/sitemap.php
deleted file mode 100644
index 618162b..0000000
--- a/site/plugins/kirby-seo/templates/sitemap.php
+++ /dev/null
@@ -1,3 +0,0 @@
-url() . '.xml');
diff --git a/site/plugins/kirby-seo/templates/sitemap.xml.php b/site/plugins/kirby-seo/templates/sitemap.xml.php
deleted file mode 100644
index f57b648..0000000
--- a/site/plugins/kirby-seo/templates/sitemap.xml.php
+++ /dev/null
@@ -1,5 +0,0 @@
-render($page);
diff --git a/site/plugins/kirby-seo/templates/sitemap.xsl.php b/site/plugins/kirby-seo/templates/sitemap.xsl.php
deleted file mode 100644
index 5cf4eb4..0000000
--- a/site/plugins/kirby-seo/templates/sitemap.xsl.php
+++ /dev/null
@@ -1,196 +0,0 @@
-= '' ?>
-
-
-
-
-
-
- = $page->metadata()->title()->escape() ?>
-
-
-
-
-
-
= $page->title() ?>
-
= t('sitemap-description') ?>
-
-
-
-
-
- = t('sitemap') ?>
- = t('sitemap-last-updated') ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- = t('sitemap-url') ?>
- = t('sitemap-priority') ?>
- = t('sitemap-changefreq') ?>
- = t('sitemap-last-updated') ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- = t('sitemap-no-entries') ?>
-
-
-
-
- Kirby SEO
-
- v
-
-
- v
-
- = t('sitemap-by') ?> Tobias Möritz
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/site/plugins/kirby-seo/translations/de.yml b/site/plugins/kirby-seo/translations/de.yml
deleted file mode 100644
index 9472d59..0000000
--- a/site/plugins/kirby-seo/translations/de.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-# Heading Structure
-heading-structure: Überschriftenstruktur
-incorrect-heading-order: Deine Überschriftenstruktur hat eine falsche Abfolge und ist ungültig.
-missing-h1-tag: Deine Überschriftenstruktur enthält keine H1 und ist ungültig.
-multiple-h1-tags: Deine Überschriftenstruktur enthält mehr als eine H1 und ist ungültig.
-
-# SEO Preview
-seo-preview: Vorschau
-seo-preview-for: Zeige mir
-open-debugger: Sharing-Debugger öffnen
-open-search-console: Search Console öffnen
-
-# Robots
-indicator-index: Indexierung erlaubt
-indicator-any: Indexierung teilw. verboten
-indicator-noindex: Indexierung verboten
-robots: Richtlinien für Suchmaschinen & Crawler
-robots-index: Indexierung
-robots-index-help: Ob Suchmaschinen die Seite indexieren dürfen.
-robots-follow: Links folgen
-robots-follow-help: Ob Suchmaschinen Links auf dieser Seite folgen dürfen.
-robots-archive: Archivierung
-robots-archive-help: Ob Suchmaschinen zwischengespeicherte Versionen der Seite ausliefern dürfen.
-robots-imageindex: Bilder-Indexierung
-robots-imageindex-help: Ob Bilder dieser Seite in der Bildersuche angezeigt werden dürfen.
-robots-snippet: Snippets
-robots-snippet-help: Ob Suchmaschinen Textausschnitte aus der Seite anzeigen dürfen.
-
-# Blueprint - Site/Common
-metadata-site: Metadaten & SEO
-global-meta-headline: Globale SEO-Einstellungen
-global-meta-headline-help: |
- Diese Einstellungen werden für alle Seiten verwendet, die keine eigenen Metadaten haben.
- Du kannst sie für jede Seite überschreiben.
-meta-title-template: Titel-Template
-meta-title-template-help: |
- Ein Template, das für alle Seitentitel verwendet werden soll.
- "\{\{ title }}" wird durch den Titel der Seite ersetzt.
-meta-description: Seitenbeschreibung
-meta-description-help: Empfohlene Länge von max. 150 Zeichen. Wird verwendet, falls keine Seitenbeschreibung angegeben ist.
-
-global-og-headline: Globale Open Graph-Einstellungen
-global-og-headline-help: Stelle ein, wie deine Website erscheint, wenn sie auf sozialen Netzwerken wie Facebook oder Twitter geteilt wird.
-og-title-template: Open Graph-Titel-Template
-og-description: Open Graph-Beschreibung
-og-site-name: Open Graph-Seitenname
-og-image: Open Graph-Bild
-og-image-help: Empfohlene Größe von 1200x630 Pixeln.
-og-image-empty: Kein Open Graph-Bild ausgewählt
-twitter-card-type: Twitter-Kartentyp
-twitter-card-type-help: Der Twitter-Kartentyp bestimmt, wie deine Website aussieht, wenn sie auf Twitter geteilt wird. [Mehr Informationen](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards).
-
-social-media-accounts: Social Media-Accounts
-social-media-accounts-help: URLs bzw. @-Handles zu deinen Social Media-Accounts. Werden verwendet, um Links zu deinen Accounts in den Metadaten zu setzen.
-
-# Blueprint - Page
-meta-headline: SEO-Einstellungen
-og-headline: Open Graph-Einstellungen
-title-overwrite: Titel (Überschreiben)
-summary: Karte mit quadratischem Bild
-summary_large_image: Karte mit großem Bild
-default-select: 'Standard:'
-twitter-author: '@username des Autors auf Twitter'
-inherit-settings: Einstellungen vererben
-inherit-settings-help: |
- Wähle aus, welche Einstellungen an Unterseiten vererbt werden sollen.
- Dies kann z.B. hilfreich sein, wenn alle Beiträge eines Blogs ein eigenes Titel-Template haben sollen, welches vom Seiten-Standard abweicht. Alle Einstellungen lassen sich weiterhin in der Hauptseite überschreiben.
-use-title-template: Titel-Template verwenden?
-use-title-template-no: 'Nein - reiner Titel'
-use-title-template-yes: 'Ja - mit Template'
-use-title-template-help: Gibt an, ob das Titel-Template verwendet werden soll. Wird nicht vererbt.
-
-# Labels
-google: Google
-facebook: Facebook
-slack: Slack
-
-# Sitemap
-sitemap: Sitemap
-sitemap-index: Sitemap-Index
-sitemap-description: Dies ist die Sitemap für deine Website, die Suchmaschinen über die Seiten auf deiner Website informiert, die indexiert werden können.
-sitemap-by: von
-sitemap-changefreq: Änderungsfrequenz
-sitemap-last-updated: Letzte Änderung
-sitemap-priority: Priorität
-sitemap-url: URL
-sitemap-no-entries: Keine Einträge
diff --git a/site/plugins/kirby-seo/translations/en.yml b/site/plugins/kirby-seo/translations/en.yml
deleted file mode 100644
index f41a224..0000000
--- a/site/plugins/kirby-seo/translations/en.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-# Heading Structure
-heading-structure: Heading Structure
-incorrect-heading-order: Your heading structure has an incorrect order and is invalid.
-missing-h1-tag: Your heading structure does not contain an H1 and is invalid.
-multiple-h1-tags: Your heading structure contains more than one H1 and is invalid.
-
-# SEO Preview
-seo-preview: Preview
-seo-preview-for: Show me
-open-debugger: Open Sharing Debugger
-open-search-console: Open Search Console
-
-# Robots
-indicator-index: Indexing allowed
-indicator-any: Indexing partly forbidden
-indicator-noindex: Indexing forbidden
-robots: Robots Directives
-robots-index: Indexing
-robots-index-help: Whether search engines may index this page.
-robots-follow: Follow Links
-robots-follow-help: Whether search engines may follow links on this page.
-robots-archive: Archive
-robots-archive-help: Whether search engines may archive this page.
-robots-imageindex: Image Indexing
-robots-imageindex-help: Whether search engines may index images on this page.
-robots-snippet: Snippets
-robots-snippet-help: Whether search engines may show text snippets of this page.
-
-# Blueprint - Site/Common
-metadata-site: Metadata & SEO
-global-meta-headline: Global SEO Settings
-global-meta-headline-help: |
- These settings are used for all pages that do not have their own metadata.
- You can override them for each page.
-meta-title-template: Title Template
-meta-title-template-help: |
- A template to use for all page titles.
- "\{\{ title }}" will be replaced with the page title.
-meta-description: Page Description
-meta-description-help: Recommended length of 150 characters max. Used if no page description is specified.
-
-global-og-headline: Global Open Graph Settings
-global-og-headline-help: Set how your website appears when shared on social networks like Facebook or Twitter.
-og-title-template: Open Graph Title Template
-og-description: Open Graph Description
-og-site-name: Open Graph Site Name
-og-image: Open Graph Image
-og-image-help: Recommended size of 1200x630 pixels.
-og-image-empty: No Open Graph Image selected
-twitter-card-type: Twitter Card Type
-twitter-card-type-help: Twitter Card Type determines how your website looks when shared on Twitter. [Read more](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards).
-
-social-media-accounts: Social Media Accounts
-social-media-accounts-help: URLs or @handles to your social media accounts. Used to put links to your accounts in the metadata.
-
-# Blueprint - Page
-meta-headline: SEO Settings
-og-headline: Open Graph Settings
-title-overwrite: Title (overwrite)
-summary: Summary with Square Image
-summary_large_image: Summary with Large Image
-default-select: 'Default:'
-twitter-author: 'Author @username on Twitter'
-inherit-settings: Inherit Settings
-inherit-settings-help: |
- Select which settings should be inherited by subpages.
- This can be helpful, for example, if all posts of a blog should have their own title template, which differs from the page default. All settings can still be overridden in the main page.
-use-title-template: Use title template?
-use-title-template-no: 'No - only title'
-use-title-template-yes: 'Yes - with template'
-use-title-template-help: Specifies whether the title template should be used. Will not be inherited.
-
-# Labels
-google: Google
-facebook: Facebook
-slack: Slack
-
-# Sitemap
-sitemap: Sitemap
-sitemap-index: Sitemap Index
-sitemap-description: This is the sitemap for your website that informs search engines about the pages on your website that can be indexed.
-sitemap-by: by
-sitemap-changefreq: Change Frequency
-sitemap-last-updated: Last Updated
-sitemap-priority: Priority
-sitemap-url: URL
-sitemap-no-entries: No entries
diff --git a/site/plugins/kirby-seo/translations/fr.yml b/site/plugins/kirby-seo/translations/fr.yml
deleted file mode 100644
index 932a93b..0000000
--- a/site/plugins/kirby-seo/translations/fr.yml
+++ /dev/null
@@ -1,75 +0,0 @@
-# Heading Structure
-heading-structure: Structure des titres
-incorrect-heading-order: Votre structure de titres a un ordre incorrect et est invalide.
-missing-h1-tag: Votre structure de titres ne contient pas de balise H1 et est invalide.
-multiple-h1-tags: Votre structure de titres contient plus d’une balise H1 et est invalide.
-
-# SEO Preview
-seo-preview: Aperçu
-seo-preview-for: Montre-moi
-open-debugger: Ouvrir le débogueur de partage
-open-search-console: Ouvrir la Console de recherche
-
-# Robots
-indicator-index: Indexation autorisée
-indicator-any: Indexation partiellement interdite
-indicator-noindex: Indexation interdite
-robots: Directives des robots
-robots-index: Indexation
-robots-index-help: Indique si les moteurs de recherche peuvent indexer cette page.
-robots-follow: Suivre les liens
-robots-follow-help: Indique si les moteurs de recherche peuvent suivre les liens de cette page.
-robots-archive: Archiver
-robots-archive-help: Indique si les moteurs de recherche peuvent archiver cette page.
-robots-imageindex: Indexation des images
-robots-imageindex-help: Indique si les moteurs de recherche peuvent indexer les images de cette page.
-robots-snippet: Extraits
-robots-snippet-help: Indique si les moteurs de recherche peuvent afficher des extraits de texte de cette page.
-
-# Blueprint - Site/Common
-metadata-site: Métadonnées et SEO
-global-meta-headline: Paramètres SEO globaux
-global-meta-headline-help: |
- Ces paramètres sont utilisés pour toutes les pages qui n’ont pas leurs propres métadonnées.
- Vous pouvez les remplacer pour chaque page.
-meta-title-template: Modèle de titre
-meta-title-template-help: |
- Un modèle à utiliser pour tous les titres de page.
- "\{\{ title }}" sera remplacé par le titre de la page.
-meta-description: Description de la page
-meta-description-help: Longueur recommandée de 150 caractères maximum. Utilisée si aucune description de page n’est spécifiée.
-
-global-og-headline: Paramètres globaux Open Graph
-global-og-headline-help: Définissez l’apparence de votre site web lorsqu’il est partagé sur les réseaux sociaux tels que Facebook ou Twitter.
-og-title-template: Modèle de titre Open Graph
-og-description: Description Open Graph
-og-site-name: Nom du site Open Graph
-og-image: Image Open Graph
-og-image-help: Taille recommandée de 1200x630 pixels.
-og-image-empty: Aucune image Open Graph sélectionnée
-twitter-card-type: Type de carte Twitter
-twitter-card-type-help: Le type de carte Twitter détermine l’apparence de votre site web lorsqu’il est partagé sur Twitter. [En savoir plus](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards).
-
-social-media-accounts: Comptes de réseaux sociaux
-social-media-accounts-help: URLs ou @nom_utilisateur de vos comptes de réseaux sociaux. Utilisés pour mettre des liens vers vos comptes dans les métadonnées.
-# Blueprint - Page
-meta-headline: Paramètres SEO
-og-headline: Paramètres Open Graph
-title-overwrite: Titre (remplacement)
-summary: Résumé avec une image carrée
-summary_large_image: Résumé avec une grande image
-default-select: 'Par défaut :'
-twitter-author: 'Auteur @nom_utilisateur sur Twitter'
-inherit-settings: Hériter des paramètres
-inherit-settings-help: |
- Sélectionnez les paramètres à hériter par les sous-pages.
- Cela peut être utile, par exemple, si tous les articles d’un blog doivent avoir leur propre modèle de titre, différent de celui de la page par défaut. Tous les paramètres peuvent toujours être remplacés dans la page principale.
-use-title-template: Utiliser le modèle de titre ?
-use-title-template-no: 'Non - seulement le titre'
-use-title-template-yes: 'Oui - avec le modèle'
-use-title-template-help: Indique si le modèle de titre doit être utilisé. Ne sera pas hérité.
-
-# Labels
-google: Google
-facebook: Facebook
-slack: Slack
diff --git a/site/plugins/kirby-seo/translations/pt_PT.yml b/site/plugins/kirby-seo/translations/pt_PT.yml
deleted file mode 100644
index 06caab9..0000000
--- a/site/plugins/kirby-seo/translations/pt_PT.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-# Heading Structure
-heading-structure: Estrutura de Títulos
-incorrect-heading-order: A estrutura de títulos tem uma ordem incorrecta e é inválida.
-missing-h1-tag: A estrutura de títulos não contém uma tag H1 e é inválida.
-multiple-h1-tags: A estrutura de títulos contém mais do que uma tag H1 e é inválida.
-
-# SEO Preview
-seo-preview: Pré-visualização
-seo-preview-for: Mostrar
-open-debugger: Abrir Sharing Debugger
-open-search-console: Abrir Search Console
-
-# Robots
-indicator-index: Indexação permitida
-indicator-any: Indexação parcialmente proibida
-indicator-noindex: Indexação proibida
-robots: Diretivas Robots
-robots-index: Indexação
-robots-index-help: Se os motores de pesquisa podem indexar esta página.
-robots-follow: Seguir Links
-robots-follow-help: Se os motores de pesquisa podem seguir links nesta página.
-robots-archive: Arquivo
-robots-archive-help: Se os motores de pesquisa podem arquivar esta página.
-robots-imageindex: Indexação de Imagens
-robots-imageindex-help: Se os motores de pesquisa podem indexar imagens desta página.
-robots-snippet: Snippets
-robots-snippet-help: Se os motores de pesquisa podem mostrar snippets de texto desta página.
-
-# Blueprint - Site/Common
-metadata-site: Metadados & SEO
-global-meta-headline: Configurações Globais SEO
-global-meta-headline-help: |
- Estas configurações são usadas para todas as páginas que não têm os seus próprios metadados.
- Pode substituí-las em cada página.
-meta-title-template: Template de Título
-meta-title-template-help: |
- Template para usar em todos os títulos de páginas.
- "\{\{ title }}" será substituído pelo título da página.
-meta-description: Descrição de Página
-meta-description-help: Recomendado um tamanho de 150 caracteres no máximo. Usada se nenhuma descrição de página for especificada.
-
-global-og-headline: Configurações Globais Open Graph
-global-og-headline-help: Defina como o seu site aparece quando é partilhado em redes sociais como o Facebook ou o Twitter.
-og-title-template: Template de Título Open Graph
-og-description: Descrição Open Graph
-og-site-name: Nome do Site Open Graph
-og-image: Imagem Open Graph
-og-image-help: Tamanho recomendado de 1200x630 pixels.
-og-image-empty: Nenhuma Imagem Open Graph selecionada
-twitter-card-type: Tipo de Twitter Card
-twitter-card-type-help: O tipo de Twitter Card determina a aparência do seu site quando é partilhado no Twitter. [Leia mais](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards).
-
-social-media-accounts: Contas de Redes Sociais
-social-media-accounts-help: URLs ou @handles para as suas contas de redes sociais. Usado para colocar links para as suas contas nos metadados.
-
-# Blueprint - Page
-meta-headline: Configurações SEO
-og-headline: Configurações Open Graph
-title-overwrite: Título (substituir)
-summary: Resumo com Imagem Quadrada
-summary_large_image: Resumo com Imagem Grande
-default-select: 'Por defeito:'
-twitter-author: 'Autor @username no Twitter'
-inherit-settings: Herdar Configurações
-inherit-settings-help: |
- Selecione quais as configurações que devem ser herdadas pelas subpáginas.
- Isto pode ser útil, por exemplo, se todos os posts de um blog tiverem o seu próprio template de título, que pode ser diferente do pré-configurado na página. Todas as configurações continuam a poder ser substituídas na página principal.
-use-title-template: Usar o template de título?
-use-title-template-no: 'Não - apenas o título'
-use-title-template-yes: 'Sim - com template'
-use-title-template-help: Especifica se o template de título deve ser usado. Não será herdado.
-
-# Labels
-google: Google
-facebook: Facebook
-slack: Slack
-
-# Sitemap
-sitemap: Sitemap
-sitemap-index: Índice Sitemap
-sitemap-description: Este é o sitemap do site que informa os motores de pesquisa sobre as páginas que podem ser indexadas.
-sitemap-by: por
-sitemap-changefreq: Frequência de Mudança
-sitemap-last-updated: Última Atualização
-sitemap-priority: Prioridade
-sitemap-url: URL
-sitemap-no-entries: Sem registos
diff --git a/site/plugins/kirby-seo/translations/tr.yml b/site/plugins/kirby-seo/translations/tr.yml
deleted file mode 100644
index 531694f..0000000
--- a/site/plugins/kirby-seo/translations/tr.yml
+++ /dev/null
@@ -1,87 +0,0 @@
-# Başlık Yapısı
-heading-structure: Başlık Yapısı
-incorrect-heading-order: Başlık yapınız yanlış bir sıraya sahip ve geçersizdir.
-missing-h1-tag: Başlık yapınızda bir H1 etiketi bulunmuyor ve geçersizdir.
-multiple-h1-tags: Başlık yapınızda birden fazla H1 etiketi bulunuyor ve geçersizdir.
-
-# SEO Önizleme
-seo-preview: Önizleme
-seo-preview-for: Bana göster
-open-debugger: Paylaşım Hata Ayıklayıcıyı Aç
-open-search-console: Arama Konsolunu Aç
-
-# Robotlar
-indicator-index: İndekslemeye izin verildi
-indicator-any: İndeksleme kısmen yasaklandı
-indicator-noindex: İndeksleme yasaklandı
-robots: Robot Talimatları
-robots-index: İndeksleme
-robots-index-help: Arama motorlarının bu sayfayı indeksleyip indekslemeyeceğini belirtir.
-robots-follow: Bağlantıları Takip Et
-robots-follow-help: Arama motorlarının bu sayfadaki bağlantıları takip edip etmeyeceğini belirtir.
-robots-archive: Arşivle
-robots-archive-help: Arama motorlarının bu sayfayı arşivleyip arşivlemeyeceğini belirtir.
-robots-imageindex: İmaj İndeksleme
-robots-imageindex-help: Arama motorlarının bu sayfadaki görüntüleri indeksleyip indekslemeyeceğini belirtir.
-robots-snippet: Özetler
-robots-snippet-help: Arama motorlarının bu sayfanın metin özetlerini gösterip göstermeyeceğini belirtir.
-
-# Şablona Dayalı - Site/Ortak
-metadata-site: Meta Verileri ve SEO
-global-meta-headline: Genel SEO Ayarları
-global-meta-headline-help: |
- Bu ayarlar, kendi meta verileri olmayan tüm sayfalar için kullanılır.
- Her sayfa için bunları geçersiz kılabilirsiniz.
-meta-title-template: Başlık Şablonu
-meta-title-template-help: |
- Tüm sayfa başlıkları için kullanılacak bir şablon.
- "\{\{ başlık }}" sayfa başlığı ile değiştirilecektir.
-meta-description: Sayfa Açıklaması
-meta-description-help: Maksimum 150 karakter uzunluğunda önerilen bir sayfa açıklamasıdır. Sayfa açıklaması belirtilmemişse kullanılır.
-
-global-og-headline: Genel Açık Grafik (OG) Ayarları
-global-og-headline-help: Web sitenizin Facebook veya Twitter gibi sosyal ağlarda paylaşıldığında nasıl göründüğünü ayarlar.
-og-title-template: Açık Grafik (OG) Başlık Şablonu
-og-description: Açık Grafik (OG) Açıklaması
-og-site-name: Açık Grafik (OG) Site Adı
-og-image: Açık Grafik (OG) Görseli
-og-image-help: Önerilen boyut 1200x630 pikseldir.
-og-image-empty: Boş Açık Grafik (OG) Görseli
-twitter-card-type: Twitter Kart Türü
-twitter-card-type-help: Twitter Kart Türü, Twitter'da paylaşıldığında web sitenizin nasıl göründüğünü belirler. [Daha fazla bilgi](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards).
-
-social-media-accounts: Sosyal Medya Hesapları
-social-media-accounts-help: Sosyal medya hesaplarınızın URL'leri veya @kullanici_adi. Meta verilerinde hesaplarınıza bağlantı eklemek için kullanılır.
-
-# Şablona Dayalı - Sayfa
-meta-headline: SEO Ayarları
-og-headline: Açık Grafik (OG) Ayarları
-title-overwrite: Başlık (üzerine yaz)
-summary: Kare İmaj ile Özet
-summary_large_image: Büyük İmaj ile Özet
-default-select: 'Varsayılan:'
-twitter-author: Twitter'da @kullanici_adi
-inherit-settings: Ayarları Miras Al
-inherit-settings-help: |
- Alt sayfalar tarafından miras alınacak ayarları seçin.
- Örneğin, bir blogun tüm yazılarının sayfa varsayılanından farklı bir başlık şablonuna sahip olması gerekiyorsa bu yardımcı olabilir. Tüm ayarlar ana sayfada hala geçersiz kılınabilir.
-use-title-template: Başlık şablonunu kullan?
-use-title-template-no: 'Hayır - sadece başlık'
-use-title-template-yes: 'Evet - şablonla'
-use-title-template-help: Başlık şablonunun kullanılıp kullanılmayacağını belirtir. Miras alınmayacaktır.
-
-# Etiketler
-google: Google
-facebook: Facebook
-slack: Slack
-
-# Sitemap
-sitemap: Site Haritası
-sitemap-index: Site Haritası Dizini
-sitemap-description: Web sitenizdeki dizine eklenebilecek sayfalar hakkında arama motorlarını bilgilendiren web sitenizin site haritasıdır.
-sitemap-by: tarafından
-sitemap-changefreq: Değişim Sıklığı
-sitemap-last-updated: Son Güncelleme
-sitemap-priority: Öncelik
-sitemap-url: URL
-sitemap-no-entries: Giriş yok
diff --git a/site/plugins/send-button/index.css b/site/plugins/send-button/index.css
index 104dc38..f96ab1a 100644
--- a/site/plugins/send-button/index.css
+++ b/site/plugins/send-button/index.css
@@ -1,14 +1,4 @@
-.wrapper[data-v-4847e765] {
- display: flex;
- justify-content: space-between;
- width: 100%;
-}
-@media screen and (max-width: 800px) {
-.k-field-footer[data-v-4847e765] {
- width: 9rem;
-}
-}
@media screen and (min-width: 533px) {
button[data-v-4847e765] {
margin-top: 2.15rem;
diff --git a/site/plugins/send-button/index.js b/site/plugins/send-button/index.js
index 8e191d6..c89a1bc 100644
--- a/site/plugins/send-button/index.js
+++ b/site/plugins/send-button/index.js
@@ -2,7 +2,7 @@
"use strict";
function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
- {
+ if (render) {
options.render = render;
options.staticRenderFns = staticRenderFns;
options._compiled = true;
@@ -18,86 +18,31 @@
const _sfc_main = {
__name: "SendButtonField",
props: {
- pageUri: String,
- pageStatus: String
+ pageUri: String
},
setup(__props) {
const { pageUri } = __props;
- const testBtnState = Vue.ref({
- icon: "plane",
- text: "Tester",
- theme: null,
- error: null
- });
- const sendBtnState = Vue.ref({
- icon: "plane",
- text: "Envoyer",
- theme: "orange",
- error: null
- });
- async function send(event, isTest = false) {
+ const text = Vue.ref("Envoyer");
+ const headers = {
+ method: "POST",
+ body: JSON.stringify({
+ pageUri
+ })
+ };
+ function send(event) {
event.preventDefault();
- const currentBtnState = isTest ? testBtnState : sendBtnState;
- currentBtnState.value = {
- theme: "blue",
- text: "En cours…",
- icon: "loader",
- error: null
- };
- const headers = {
- method: "POST",
- body: JSON.stringify({
- pageUri,
- isTest
- })
- };
- try {
- const response = await fetch("/send-newsletter.json", headers);
- const data = await response.json();
- console.log(data);
- if (data.status === "success") {
- currentBtnState.value = {
- theme: "green",
- icon: "check",
- text: isTest ? "Test envoyé" : "Envoi réussi",
- error: null
- };
- setTimeout(() => {
- location.href = location.href;
- }, 2e3);
- } else {
- let errorMessage = data.message || "Erreur inconnue";
- throw new Error(errorMessage);
- }
- } catch (error) {
- currentBtnState.value = {
- theme: "red",
- icon: "alert",
- text: isTest ? "Échec du test" : "Erreur",
- error: error.message
- };
- }
+ fetch("/send-newsletter.json", headers).then((res) => res.json()).then((json) => console.log(json));
}
- return { __sfc: true, testBtnState, sendBtnState, send };
+ return { __sfc: true, text, headers, send };
}
};
var _sfc_render = function render() {
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
- return _vm.pageStatus !== "listed" ? _c("div", { staticClass: "wrapper" }, [_c("div", { staticClass: "test-wrapper" }, [_c("k-button", { staticStyle: { "width": "max-content" }, attrs: { "variant": "filled", "help": "test", "theme": _setup.testBtnState.theme, "icon": _setup.testBtnState.icon }, on: { "click": function($event) {
- return _setup.send($event, true);
- } } }, [_vm._v(_vm._s(_setup.testBtnState.text))]), _vm._m(0), _setup.testBtnState.error ? _c("k-box", { staticStyle: { "margin-top": "var(--spacing-1)" }, attrs: { "theme": "error" } }, [_vm._v(_vm._s(_setup.testBtnState.error))]) : _vm._e()], 1), _c("div", { staticClass: "send-wrapper" }, [_c("k-button", { attrs: { "variant": "filled", "theme": _setup.sendBtnState.theme, "icon": _setup.sendBtnState.icon }, on: { "click": function($event) {
+ return _c("k-button", { attrs: { "variant": "filled", "icon": "plane" }, on: { "click": function($event) {
return _setup.send($event);
- } } }, [_vm._v(_vm._s(_setup.sendBtnState.text))]), _setup.sendBtnState.error ? _c("k-box", { staticStyle: { "margin-top": "var(--spacing-1)" }, attrs: { "theme": "error" } }, [_vm._v(_vm._s(_setup.sendBtnState.error))]) : _vm._e(), _vm._m(1)], 1)]) : _vm._e();
+ } } }, [_vm._v(_vm._s(_setup.text))]);
};
- var _sfc_staticRenderFns = [function() {
- var _vm = this, _c = _vm._self._c;
- _vm._self._setupProxy;
- return _c("footer", { staticClass: "k-field-footer" }, [_c("div", { staticClass: "k-help k-field-help k-text" }, [_c("p", [_vm._v("Envoie seulement à la liste ci-dessus")])])]);
- }, function() {
- var _vm = this, _c = _vm._self._c;
- _vm._self._setupProxy;
- return _c("footer", { staticClass: "k-field-footer" }, [_c("div", { staticClass: "k-help k-field-help k-text" }, [_c("strong", [_vm._v("⚠ Envoie à tous les abonnés.")])])]);
- }];
+ var _sfc_staticRenderFns = [];
_sfc_render._withStripped = true;
var __component__ = /* @__PURE__ */ normalizeComponent(
_sfc_main,
diff --git a/site/plugins/send-button/index.php b/site/plugins/send-button/index.php
index 5b596b4..ee3acc1 100755
--- a/site/plugins/send-button/index.php
+++ b/site/plugins/send-button/index.php
@@ -5,16 +5,9 @@ Kirby::plugin('adrienpayet/send-button', [
'send-button' => [
'computed' => [
'pageUri' => function () {
- return $this->model()->uri();
+ return $this->model()->uri();
},
- 'pageStatus' => function () {
- return $this->model()->status();
- },
- ],
- ],
- ],
- 'routes' => [
- require __DIR__ . '/routes/send-newsletter.php',
- require __DIR__ . '/routes/unsubscribe-newsletter.php',
- ],
+ ]
+ ]
+ ]
]);
diff --git a/site/plugins/send-button/routes/save-send-newsletter.php b/site/plugins/send-button/routes/save-send-newsletter.php
deleted file mode 100644
index 63aec20..0000000
--- a/site/plugins/send-button/routes/save-send-newsletter.php
+++ /dev/null
@@ -1,95 +0,0 @@
- '/send-newsletter.json',
- 'method' => 'POST',
- 'action' => function () {
- $jsonRequest = file_get_contents('php://input');
- $data = json_decode($jsonRequest);
-
- if (!$data || !isset($data->pageUri) || !isset($data->isTest)) {
- return json_encode([
- 'status' => 'error',
- 'message' => 'Invalid request data. Required fields: pageUri, isTest.',
- ]);
- }
-
- $kirby = kirby();
- $emailPage = page('lettre')->childrenAndDrafts()->find($data->pageUri);
-
- if (!$emailPage) {
- return json_encode([
- 'status' => 'error',
- 'message' => 'The specified page does not exist.',
- ]);
- }
-
- $recipients = $data->isTest
- ? $kirby->users()->pluck('email', null, true)
- : page('lettre')->subscribers()->toStructure()->pluck('email', ',', true);
-
- if (empty($recipients)) {
- return json_encode([
- 'status' => 'error',
- 'message' => 'No recipients found.',
- ]);
- }
-
- $subject = $data->isTest
- ? '[TEST] - ' . $emailPage->title()->value()
- : $emailPage->title()->value();
-
- $from = new \Kirby\Cms\User([
- 'email' => 'info@actuel-inactuel.fr',
- 'name' => 'actuel-inactuel',
- ]);
-
- $sentEmails = [];
- $errors = [];
-
- $batchSize = 5;
- $pauseBetweenBatches = 1;
-
- foreach (array_chunk($recipients, $batchSize) as $batch) {
- foreach ($batch as $recipient) {
- try {
- $kirby->email([
- 'from' => $from,
- 'to' => $recipient,
- 'subject' => $subject,
- 'template' => 'newsletter',
- 'data' => [
- 'body' => $emailPage->body(),
- 'url' => (string) $emailPage->url(),
- 'recipient' => $recipient,
- ],
- ]);
- $sentEmails[] = $recipient;
- } catch (Exception $error) {
- $errors[] = [
- 'email' => $recipient,
- 'message' => $error->getMessage(),
- ];
- }
- }
-
- sleep($pauseBetweenBatches);
- }
-
- if (!$data->isTest) {
- $emailPage->changeStatus('listed');
- } else {
- $emailPage->changeStatus('unlisted');
- }
-
- return json_encode([
- 'status' => empty($errors) ? 'success' : 'partial',
- 'message' => empty($errors) ? 'All emails sent successfully.' : 'Certains emails n\'ont pas pu être envoyé.',
- 'sent' => $sentEmails,
- 'failed' => $errors,
- ]);
- },
-];
diff --git a/site/plugins/send-button/routes/send-newsletter.php b/site/plugins/send-button/routes/send-newsletter.php
deleted file mode 100644
index ef4c4b8..0000000
--- a/site/plugins/send-button/routes/send-newsletter.php
+++ /dev/null
@@ -1,89 +0,0 @@
- '/send-newsletter.json',
- 'method' => 'POST',
- 'action' => function () {
- $jsonRequest = file_get_contents('php://input');
- $data = json_decode($jsonRequest);
-
- if (!$data || !isset($data->pageUri) || !isset($data->isTest)) {
- return json_encode([
- 'status' => 'error',
- 'message' => 'Invalid request data. Required fields: pageUri, isTest.',
- ]);
- }
-
- $kirby = kirby();
- $emailPage = page('lettre')->childrenAndDrafts()->find($data->pageUri);
-
- if (!$emailPage) {
- return json_encode([
- 'status' => 'error',
- 'message' => 'The specified page does not exist.',
- ]);
- }
-
- $recipients = $data->isTest
- ? $emailPage->testAdressList()->toStructure()->pluck('email', ',', true)
- : page('lettre')->subscribers()->toStructure()->pluck('email', ',', true);
-
- if (empty($recipients)) {
- return json_encode([
- 'status' => 'error',
- 'message' => 'No recipients found.',
- ]);
- }
-
- $subject = $data->isTest
- ? '[TEST] - ' . $emailPage->title()->value()
- : $emailPage->title()->value();
-
- $mailersend = new MailerSend(['api_key' => kirby()->option('mailerSendApiKey')]);
- $bulkEmailParams = [];
-
- foreach ($recipients as $recipient) {
- $bulkEmailParams[] = (new EmailParams())
- ->setFrom('info@actuel-inactuel.fr')
- ->setFromName('actuel-inactuel')
- ->setRecipients([new Recipient($recipient, 'abonné')])
- ->setSubject($subject)
- ->setHtml($emailPage->body())
- ->setReplyTo('info@actuel-inactuel.fr')
- ->setReplyToName('actuel-inactuel');
- }
-
- try {
- $response = $mailersend->bulkEmail->send($bulkEmailParams);
- file_put_contents($emailPage->root() . '/mailersend_log.json', json_encode($response, JSON_PRETTY_PRINT));
- return json_encode([
- 'status' => 'success',
- 'message' => 'All emails sent successfully.',
- ]);
- } catch (\Exception $e) {
- $date = Kirby\Toolkit\Date::now(new DateTimeZone('Europe/Paris'));
- file_put_contents(
- $emailPage->root() . '/mailersend_errors.log',
- $date->format('d/m/Y H:i:s') . ' ' . $e->getMessage() . PHP_EOL,
- FILE_APPEND
- );
- return json_encode([
- 'status' => 'error',
- 'message' => 'Erreur enregistrée dans le log : ' . $e->getMessage(),
- ]);
- }
-
- if (!$data->isTest) {
- $emailPage->update([
- 'published' => Kirby\Toolkit\Date::Today(),
- ]);
- $emailPage->changeStatus('listed');
- }
- },
-];
diff --git a/site/plugins/send-button/routes/unsubscribe-newsletter.php b/site/plugins/send-button/routes/unsubscribe-newsletter.php
deleted file mode 100644
index 6158a04..0000000
--- a/site/plugins/send-button/routes/unsubscribe-newsletter.php
+++ /dev/null
@@ -1,42 +0,0 @@
- '/desinscription',
- 'action' => function () {
- $kirby = kirby();
- $kirby->impersonate('kirby');
-
- $email = get('email');
- $page = page('lettre');
-
- $emailExists = in_array(['email' => $email], $page->subscribers()->yaml());
-
- if (!$emailExists) {
- $title = 'Erreur';
- $body = '' . $email . ' est introuvable dans la base de données. Vous pouvez demander une désinscription manuelle en écrivant à info@actuel-inactuel.fr .
';
- } else {
- $subscribers = array_filter(
- $page->subscribers()->yaml(),
- fn($subscriber) => $subscriber !== ['email' => $email]
- );
-
- $page->update([
- 'subscribers' => $subscribers,
- ]);
-
- $title = $email . ' désinscrit';
- $body = 'Si la désinscription automatique n\'a pas fonctionné et que vous continuez à recevoir des mails, vous pouvez demander une désinscription manuelle en écrivant à info@actuel-inactuel.fr .
';
-
- }
-
- return new Page([
- 'slug' => Str::slug('desinscription'),
- 'template' => 'error',
- 'status' => 'unlisted',
- 'content' => [
- 'title' => $title,
- 'body' => $body,
- ],
- ]);
- },
-];
diff --git a/site/plugins/send-button/src/components/SendButtonField.vue b/site/plugins/send-button/src/components/SendButtonField.vue
index 5bba736..6cbfd23 100755
--- a/site/plugins/send-button/src/components/SendButtonField.vue
+++ b/site/plugins/send-button/src/components/SendButtonField.vue
@@ -1,48 +1,7 @@
-
-
- {{ testBtnState.text }}
-
- {{ testBtnState.error }}
-
-
- {{ sendBtnState.text }}
- {{ sendBtnState.error }}
-
-
-
+ {{
+ text
+ }}
-
-
-
-
-
-
-
\ No newline at end of file
+ template() == 'linear' || $page->template() == 'grid'): ?>
+
+
+
+
+
+
\ No newline at end of file
diff --git a/site/snippets/nav.php b/site/snippets/nav.php
index 6521d0b..ead623a 100644
--- a/site/snippets/nav.php
+++ b/site/snippets/nav.php
@@ -1,4 +1,8 @@
-
+
+
- 'categories']) ?>
- 'years']) ?>
- textes
+ "categories"]) ?>
+ "years"]) ?>
+ fermer
\ No newline at end of file
diff --git a/site/snippets/nav__texts--all.php b/site/snippets/nav__texts--all.php
index 8ee0245..205444c 100644
--- a/site/snippets/nav__texts--all.php
+++ b/site/snippets/nav__texts--all.php
@@ -1,40 +1,32 @@
-
+
grandChildren()->sortBy('published', 'desc') as $article): ?>
- author()->toPage() == null ? 'inconnu' : $article->author()->toPage()->title();
- ?>
- author()->toPage()->title();
+ ?>
+ title()->value()) ?>',
author: '= $author ?>',
category: '= $article->category() ?>',
- keywords: '= $article->keywords() ?>',
- }" x-show="
+ }"
+ x-show="
slugify(title).includes(slugify(search))
|| slugify(author).includes(slugify(search))
|| slugify(category).includes(slugify(search))
- || slugify(keywords).includes(slugify(search))
- ">
-
- = $article->title() ?>
- subtitle()->isNotEmpty()): ?>
- = $article->subtitle()->inline() ?>
-
-
-
-
- par
- = $author ?>
-
- publié le published()->toDate('d/m/Y') ?>
-
- dans = $article->parent()->title() ?>
- / = $article->category() ?>
-
-
-
+ "
+ >
+
+ = $article->title() ?>
+
+
+
+ par
+ = $author ?>
+ publié le = $article->published()->toDate('d/m/Y') ?>
+ dans = $article->parent()->title() ?> / = $article->category() ?>
+
+
+
\ No newline at end of file
diff --git a/site/snippets/nav__texts--collection.php b/site/snippets/nav__texts--collection.php
index cf29a0e..5519c4b 100644
--- a/site/snippets/nav__texts--collection.php
+++ b/site/snippets/nav__texts--collection.php
@@ -1,60 +1,72 @@
-
+
collection($collection) as $section): ?>
-
-
-
+
+
+
= $section->title() ?>
-
+
-
-
-
- = $section->edito() ?>
-
-
Lire
+
+
+
+ = $section->edito() ?>
+
+
Lire
-
+
children() as $article): ?>
- author()->toPage() == null ? 'inconnu' : $article->author()->toPage()->title();
- ?>
- author()->toPage()->title();
+ ?>
+ title()->value()) ?>',
author: '= $author ?>',
category: '= $article->category() ?>',
- keywords: '= $article->keywords() ?>',
- }" x-show="
+ }"
+ x-show="
slugify(title).includes(slugify(search))
|| slugify(author).includes(slugify(search))
|| slugify(category).includes(slugify(search))
- || slugify(keywords).includes(slugify(search))
- ">
-
- = $article->title() ?>
- subtitle()->isNotEmpty()): ?>
- = $article->subtitle()->inline() ?>
-
-
-
-
- par
- = $author ?>
-
- publié le published()->toDate('d/m/Y') ?>
-
- dans = $article->parent()->title() ?>
- / = $article->category() ?>
-
-
-
+ "
+ >
+
+ = $article->title() ?>
+
+
+
+ par
+ = $author ?>
+ publié le = $article->published()->toDate('d/m/Y') ?>
+ dans = $article->parent()->title() ?> / = $article->category() ?>
+
+
+
diff --git a/site/templates/author.php b/site/templates/author.php
index d002cf9..bd2acf8 100644
--- a/site/templates/author.php
+++ b/site/templates/author.php
@@ -1,16 +1,13 @@
-
-
-
- = $page->title() ?>
- = $page->presentation() ?>
-
-
-
+
+
+
+ = $page->title() ?>
+ = $page->presentation() ?>
textes :
-
+
grandChildren() as $article): ?>
author()->toPage()->title()->value() == $page->title()->value()): ?>
@@ -22,14 +19,17 @@
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/site/templates/category.php b/site/templates/category.php
index bf96628..e401df3 100644
--- a/site/templates/category.php
+++ b/site/templates/category.php
@@ -1,42 +1,36 @@
-
+
+
-
- = $page->title() ?>
-
-
- edito()->isNotEmpty()): ?>
-
- = $page->edito() ?>
-
-
Lire
-
+
+
+
+
+
+ = $page->title() ?>
- texts()->toPages() as $article): ?>
-
-
- = $article->title() ?>
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+ collection('categories') as $category): ?>
+ title()->value()): ?>
+
+
+
+ = $article->title() ?>
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/site/templates/email.php b/site/templates/email.php
deleted file mode 100644
index e14299f..0000000
--- a/site/templates/email.php
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- true), slots: true) ?>
-
- = $page->title() ?>
-
- published()->isNotEmpty()): ?>
-
- courrier du = $page->published()->toDate('d/m/Y') ?>
-
-
-
-
-
-
-
- = $page->body() ?>
-
-
-
-
-
\ No newline at end of file
diff --git a/site/templates/emails/newsletter.html.php b/site/templates/emails/newsletter.html.php
deleted file mode 100644
index efeaffc..0000000
--- a/site/templates/emails/newsletter.html.php
+++ /dev/null
@@ -1,4 +0,0 @@
-= $body ?>
-
-se désinscrire - voir la version web
-
\ No newline at end of file
diff --git a/site/templates/error.php b/site/templates/error.php
deleted file mode 100644
index b930d26..0000000
--- a/site/templates/error.php
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
- true], slots: true) ?>
-
-
- = $page->title() ?>
-
-
-
- = $page->body() ?>
-
Retour à l'accueil
-
-
-
-
-
\ No newline at end of file
diff --git a/site/templates/grid.php b/site/templates/grid.php
index 2f0a22a..1b48a89 100644
--- a/site/templates/grid.php
+++ b/site/templates/grid.php
@@ -1,38 +1,22 @@
- true], slots: true) ?>
-
-
- = $page->title() ?>
-
- par
- = $page->author()->toPage()->title() ?>
- publié le
- = $page->published()->toDate('d/m/Y') ?>
- dans = $page->parent()->title() ?>
- / = $page->category() ?>
-
-
+ true), slots: true) ?>
+
+ = $page->title() ?>
+
+ par
+ = $page->author()->toPage()->title() ?>
+ publié le = $page->published()->toDate('d/m/Y') ?>
+ dans = $page->parent()->title() ?> / = $page->category() ?>
+
+
-
-
- chapo()->isNotEmpty()): ?>
-
- = $page->chapo() ?>
-
-
-
body()->toLayouts() as $layout): ?>
-
+
columns() as $column): ?>
-
+
= $column->blocks() ?>
@@ -40,7 +24,6 @@
-
diff --git a/site/templates/home.php b/site/templates/home.php
index 8b0d181..f8bd4ef 100644
--- a/site/templates/home.php
+++ b/site/templates/home.php
@@ -6,17 +6,14 @@
= $site->subtitle()->inline() ?>
-
-
éditorial
-
textes
diff --git a/site/templates/info.php b/site/templates/info.php
index cf7689c..8b8addc 100644
--- a/site/templates/info.php
+++ b/site/templates/info.php
@@ -1,17 +1,19 @@
+
+ années
+ categories
+
- true], slots: true) ?>
-
-
- = $page->title() ?>
-
- = $page->body() ?>
-
-
-
-
+
+ = $page->body() ?>
+
diff --git a/site/templates/linear.php b/site/templates/linear.php
index beab9b3..bd2cc73 100644
--- a/site/templates/linear.php
+++ b/site/templates/linear.php
@@ -1,39 +1,19 @@
- true], slots: true) ?>
-
- = $page->title() ?>
- subtitle()->isNotEmpty()): ?>
- = $page->subtitle()->inline() ?>
-
-
-
- par
- = $page->author()->toPage()->title() ?>
- publié le
- = $page->published()->toDate('d/m/Y') ?>
- dans = $page->parent()->title() ?>
- / = $page->category() ?>
-
-
+ true), slots: true) ?>
+
+ = $page->title() ?>
+
+ par
+ = $page->author()->toPage()->title() ?>
+ publié le = $page->published()->toDate('d/m/Y') ?>
+ dans = $page->parent()->title() ?> / = $page->category() ?>
+
+
-
- chapo()->isNotEmpty()): ?>
-
- = $page->chapo() ?>
-
-
- isHtmlMode()->isTrue()): ?>
- = $page->htmlBody()->kt() ?>
-
= $page->body() ?>
-
diff --git a/site/templates/newsletter.php b/site/templates/newsletter.php
deleted file mode 100644
index 7e1e5b8..0000000
--- a/site/templates/newsletter.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- true), slots: true) ?>
-
- = $page->title() ?>
- = $page->body() ?>
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/site/templates/year.php b/site/templates/year.php
index b4f08eb..4bf720f 100644
--- a/site/templates/year.php
+++ b/site/templates/year.php
@@ -1,53 +1,32 @@
-
-
-
- année = $page->title() ?>
-
- openDate()->isNotEmpty()): ?>
-
- ouverte depuis le = $page->openDate()->toDate('d/m/Y') ?>
-
-
-
-
- edito()->isNotEmpty()): ?>
-
- = $page->edito() ?>
-
-
Lire
-
-
- children() as $article): ?>
-
-
- = $article->title() ?>
-
-
-
-
-
-
-
-
+
-
\ No newline at end of file
+
+
+
+
+ = $page->title() ?>
+ = $page->edito() ?>
+ textes :
+
+ children() as $article): ?>
+
+
+ = $article->title() ?>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/web-app-manifest-192x192.png b/web-app-manifest-192x192.png
deleted file mode 100644
index 9f3f92f..0000000
Binary files a/web-app-manifest-192x192.png and /dev/null differ
diff --git a/web-app-manifest-512x512.png b/web-app-manifest-512x512.png
deleted file mode 100644
index 7f8cd7f..0000000
Binary files a/web-app-manifest-512x512.png and /dev/null differ