From 0afec458558514b3ed5bd2a55d3d98d994fdfd19 Mon Sep 17 00:00:00 2001
From: RaenonX
Date: Sun, 24 Jan 2021 19:58:54 -0600
Subject: [PATCH 1/3] IMP - Improve code quality
Signed-off-by: RaenonX
---
.stylelintrc.json | 3 +
README.md | 13 +-
package-lock.json | 727 ++++++++++++++++++++++
package.json | 4 +-
src/components/elements/markdown/main.css | 68 +-
src/index.css | 30 +-
6 files changed, 799 insertions(+), 46 deletions(-)
create mode 100644 .stylelintrc.json
diff --git a/.stylelintrc.json b/.stylelintrc.json
new file mode 100644
index 00000000..40db42c6
--- /dev/null
+++ b/.stylelintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "stylelint-config-standard"
+}
diff --git a/README.md b/README.md
index 5bf69105..33da1ca2 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,12 @@
-# dragalia-posts-site-front
+# dragalia-site-front
-Frontend of the website for the posts related to Dragalia Lost.
-
-### Website developing timer
+[![Codacy Badge](https://app.codacy.com/project/badge/Grade/83fa9f649f2e4001b848fc978642ea68)](https://www.codacy.com/gh/RaenonX-DL/dragalia-site-front/dashboard)
+[![time tracker](https://wakatime.com/badge/github/RaenonX-DL/dragalia-site-front.svg)](https://wakatime.com/badge/github/RaenonX-DL/dragalia-site-front)
-#### Frontend (this repo)
+Frontend of [Dragalia Lost info website by OM](http://dl.raenonx.cc).
-[![time tracker](https://wakatime.com/badge/github/RaenonX-DL/dragalia-site-front.svg)](https://wakatime.com/badge/github/RaenonX-DL/dragalia-site-front)
+-----
-#### Backend ([dragalia-site-back](https://github.com/RaenonX-DL/dragalia-site-back))
+Backend development time:
[![time tracker](https://wakatime.com/badge/github/RaenonX-DL/dragalia-site-back.svg)](https://wakatime.com/badge/github/RaenonX-DL/dragalia-site-back)
diff --git a/package-lock.json b/package-lock.json
index bd1b6692..fec78d4b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1959,6 +1959,25 @@
"@sinonjs/commons": "^1.7.0"
}
},
+ "@stylelint/postcss-css-in-js": {
+ "version": "0.37.2",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz",
+ "integrity": "sha512-nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==",
+ "dev": true,
+ "requires": {
+ "@babel/core": ">=7.9.0"
+ }
+ },
+ "@stylelint/postcss-markdown": {
+ "version": "0.36.2",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz",
+ "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==",
+ "dev": true,
+ "requires": {
+ "remark": "^13.0.0",
+ "unist-util-find-all-after": "^3.0.2"
+ }
+ },
"@surma/rollup-plugin-off-main-thread": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-1.4.1.tgz",
@@ -2380,6 +2399,12 @@
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
+ "@types/minimist": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz",
+ "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==",
+ "dev": true
+ },
"@types/node": {
"version": "12.19.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.0.tgz",
@@ -4003,6 +4028,25 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.1.0.tgz",
"integrity": "sha512-WCMml9ivU60+8rEJgELlFp1gxFcEGxwYleE3bziHEDeqsqAWGHdimB7beBFGjLzVNgPGyDsfgXLQEYMpmIFnVQ=="
},
+ "camelcase-keys": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ }
+ }
+ },
"caniuse-api": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
@@ -4251,6 +4295,23 @@
"shallow-clone": "^0.1.2"
}
},
+ "clone-regexp": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
+ "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
+ "dev": true,
+ "requires": {
+ "is-regexp": "^2.0.0"
+ },
+ "dependencies": {
+ "is-regexp": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
+ "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
+ "dev": true
+ }
+ }
+ },
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -5004,6 +5065,24 @@
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
},
+ "decamelize-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz",
+ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
+ "dev": true,
+ "requires": {
+ "decamelize": "^1.1.0",
+ "map-obj": "^1.0.0"
+ },
+ "dependencies": {
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ }
+ }
+ },
"decimal.js": {
"version": "10.2.1",
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz",
@@ -6262,6 +6341,15 @@
"strip-eof": "^1.0.0"
}
},
+ "execall": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
+ "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
+ "dev": true,
+ "requires": {
+ "clone-regexp": "^2.1.0"
+ }
+ },
"exit": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -6632,6 +6720,12 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
+ "fastest-levenshtein": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
+ "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+ "dev": true
+ },
"fastq": {
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
@@ -7128,6 +7222,12 @@
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="
},
+ "get-stdin": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
+ "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
+ "dev": true
+ },
"get-stream": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
@@ -7213,6 +7313,21 @@
"slash": "^3.0.0"
}
},
+ "globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=",
+ "dev": true
+ },
+ "gonzales-pe": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
"graceful-fs": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
@@ -7252,6 +7367,12 @@
"har-schema": "^2.0.0"
}
},
+ "hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
+ "dev": true
+ },
"harmony-reflect": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.1.tgz",
@@ -7489,6 +7610,12 @@
"void-elements": "^2.0.1"
}
},
+ "html-tags": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
+ "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
+ "dev": true
+ },
"html-to-react": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/html-to-react/-/html-to-react-1.4.4.tgz",
@@ -7878,6 +8005,12 @@
}
}
},
+ "import-lazy": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz",
+ "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
+ "dev": true
+ },
"import-local": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
@@ -10327,6 +10460,12 @@
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="
},
+ "known-css-properties": {
+ "version": "0.20.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.20.0.tgz",
+ "integrity": "sha512-URvsjaA9ypfreqJ2/ylDr5MUERhJZ+DhguoWRr2xgS5C7aGCalXo+ewL+GixgKBfhT2vuL02nbIgNGqVWgTOYw==",
+ "dev": true
+ },
"language-subtag-registry": {
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz",
@@ -10493,6 +10632,15 @@
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
},
+ "log-symbols": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
+ "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.0.0"
+ }
+ },
"loglevel": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz",
@@ -10564,6 +10712,12 @@
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
},
+ "map-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
+ "dev": true
+ },
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
@@ -10580,6 +10734,12 @@
"repeat-string": "^1.0.0"
}
},
+ "mathml-tag-names": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+ "dev": true
+ },
"md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -10711,6 +10871,133 @@
}
}
},
+ "meow": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize": "^1.2.0",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "4.1.0",
+ "normalize-package-data": "^3.0.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.18.0",
+ "yargs-parser": "^20.2.3"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
+ "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "normalize-package-data": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz",
+ "integrity": "sha512-6lUjEI0d3v6kFrtgA/lOx4zHCWULXsFNIjHolnZCKCTLA6m/G625cdn3O7eNmT0iD3jfo6HZ9cdImGZwf21prw==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^3.0.6",
+ "resolve": "^1.17.0",
+ "semver": "^7.3.2",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ },
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ }
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.18.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
+ "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "20.2.4",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz",
+ "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==",
+ "dev": true
+ }
+ }
+ },
"merge-deep": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/merge-deep/-/merge-deep-3.0.2.tgz",
@@ -10928,6 +11215,31 @@
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
+ "minimist-options": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz",
+ "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
+ "dev": true,
+ "requires": {
+ "arrify": "^1.0.1",
+ "is-plain-obj": "^1.1.0",
+ "kind-of": "^6.0.3"
+ },
+ "dependencies": {
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "dev": true
+ }
+ }
+ },
"minipass": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
@@ -11289,6 +11601,12 @@
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI="
},
+ "normalize-selector": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
+ "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
+ "dev": true
+ },
"normalize-url": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
@@ -12272,6 +12590,15 @@
"postcss": "^7.0.2"
}
},
+ "postcss-html": {
+ "version": "0.36.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz",
+ "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==",
+ "dev": true,
+ "requires": {
+ "htmlparser2": "^3.10.0"
+ }
+ },
"postcss-image-set-function": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz",
@@ -12300,6 +12627,15 @@
"postcss-values-parser": "^2.0.0"
}
},
+ "postcss-less": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
+ "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.14"
+ }
+ },
"postcss-load-config": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz",
@@ -12402,6 +12738,12 @@
"postcss": "^7.0.2"
}
},
+ "postcss-media-query-parser": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+ "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+ "dev": true
+ },
"postcss-merge-longhand": {
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
@@ -12879,6 +13221,12 @@
"postcss": "^7.0.2"
}
},
+ "postcss-resolve-nested-selector": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+ "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+ "dev": true
+ },
"postcss-safe-parser": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-5.0.2.tgz",
@@ -12905,6 +13253,25 @@
}
}
},
+ "postcss-sass": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
+ "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
+ "dev": true,
+ "requires": {
+ "gonzales-pe": "^4.3.0",
+ "postcss": "^7.0.21"
+ }
+ },
+ "postcss-scss": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz",
+ "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.6"
+ }
+ },
"postcss-selector-matches": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz",
@@ -12952,6 +13319,12 @@
}
}
},
+ "postcss-syntax": {
+ "version": "0.36.2",
+ "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz",
+ "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==",
+ "dev": true
+ },
"postcss-unique-selectors": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
@@ -13183,6 +13556,12 @@
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
},
+ "quick-lru": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+ "dev": true
+ },
"raf": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
@@ -13975,6 +14354,17 @@
"resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
},
+ "remark": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz",
+ "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==",
+ "dev": true,
+ "requires": {
+ "remark-parse": "^9.0.0",
+ "remark-stringify": "^9.0.0",
+ "unified": "^9.1.0"
+ }
+ },
"remark-gfm": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz",
@@ -13992,6 +14382,37 @@
"mdast-util-from-markdown": "^0.8.0"
}
},
+ "remark-stringify": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz",
+ "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==",
+ "dev": true,
+ "requires": {
+ "mdast-util-to-markdown": "^0.6.0"
+ },
+ "dependencies": {
+ "mdast-util-to-markdown": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.2.tgz",
+ "integrity": "sha512-iRczns6WMvu0hUw02LXsPDJshBIwtUPbvHBWo19IQeU0YqmzlA8Pd30U8V7uiI0VPkxzS7A/NXBXH6u+HS87Zg==",
+ "dev": true,
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "longest-streak": "^2.0.0",
+ "mdast-util-to-string": "^2.0.0",
+ "parse-entities": "^2.0.0",
+ "repeat-string": "^1.0.0",
+ "zwitch": "^1.0.0"
+ }
+ },
+ "mdast-util-to-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz",
+ "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==",
+ "dev": true
+ }
+ }
+ },
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@@ -14141,6 +14562,12 @@
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -15264,6 +15691,12 @@
"wbuf": "^1.7.3"
}
},
+ "specificity": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
+ "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+ "dev": true
+ },
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -15653,6 +16086,12 @@
"schema-utils": "^2.7.0"
}
},
+ "style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=",
+ "dev": true
+ },
"stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
@@ -15675,6 +16114,273 @@
}
}
},
+ "stylelint": {
+ "version": "13.9.0",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.9.0.tgz",
+ "integrity": "sha512-VVWH2oixOAxpWL1vH+V42ReCzBjW2AeqskSAbi8+3OjV1Xg3VZkmTcAqBZfRRvJeF4BvYuDLXebW3tIHxgZDEg==",
+ "dev": true,
+ "requires": {
+ "@stylelint/postcss-css-in-js": "^0.37.2",
+ "@stylelint/postcss-markdown": "^0.36.2",
+ "autoprefixer": "^9.8.6",
+ "balanced-match": "^1.0.0",
+ "chalk": "^4.1.0",
+ "cosmiconfig": "^7.0.0",
+ "debug": "^4.3.1",
+ "execall": "^2.0.0",
+ "fast-glob": "^3.2.5",
+ "fastest-levenshtein": "^1.0.12",
+ "file-entry-cache": "^6.0.0",
+ "get-stdin": "^8.0.0",
+ "global-modules": "^2.0.0",
+ "globby": "^11.0.2",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.1.0",
+ "ignore": "^5.1.8",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "known-css-properties": "^0.20.0",
+ "lodash": "^4.17.20",
+ "log-symbols": "^4.0.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.2",
+ "normalize-selector": "^0.2.0",
+ "postcss": "^7.0.35",
+ "postcss-html": "^0.36.0",
+ "postcss-less": "^3.1.4",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^4.0.2",
+ "postcss-sass": "^0.4.4",
+ "postcss-scss": "^2.1.1",
+ "postcss-selector-parser": "^6.0.4",
+ "postcss-syntax": "^0.36.2",
+ "postcss-value-parser": "^4.1.0",
+ "resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "specificity": "^0.4.1",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "style-search": "^0.1.0",
+ "sugarss": "^2.0.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.0.7",
+ "v8-compile-cache": "^2.2.0",
+ "write-file-atomic": "^3.0.3"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz",
+ "integrity": "sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "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"
+ }
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "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
+ },
+ "cosmiconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
+ "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
+ "dev": true,
+ "requires": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "fast-glob": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
+ "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ }
+ },
+ "file-entry-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz",
+ "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "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.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
+ "dev": true
+ },
+ "globby": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "postcss-safe-parser": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
+ "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.26"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "table": {
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ }
+ },
+ "v8-compile-cache": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
+ "dev": true
+ }
+ }
+ },
+ "stylelint-config-recommended": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz",
+ "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==",
+ "dev": true
+ },
+ "stylelint-config-standard": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-20.0.0.tgz",
+ "integrity": "sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==",
+ "dev": true,
+ "requires": {
+ "stylelint-config-recommended": "^3.0.0"
+ }
+ },
+ "sugarss": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
+ "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
+ "dev": true,
+ "requires": {
+ "postcss": "^7.0.2"
+ }
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -15712,6 +16418,12 @@
"resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz",
"integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ=="
},
+ "svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=",
+ "dev": true
+ },
"svgo": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
@@ -16108,6 +16820,12 @@
"punycode": "^2.1.1"
}
},
+ "trim-newlines": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
+ "dev": true
+ },
"trough": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
@@ -16330,6 +17048,15 @@
"crypto-random-string": "^1.0.0"
}
},
+ "unist-util-find-all-after": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz",
+ "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==",
+ "dev": true,
+ "requires": {
+ "unist-util-is": "^4.0.0"
+ }
+ },
"unist-util-is": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
diff --git a/package.json b/package.json
index 8ffc32dc..7bb9fbce 100644
--- a/package.json
+++ b/package.json
@@ -59,6 +59,8 @@
"@typescript-eslint/parser": "^4.6.0",
"eslint": "^7.12.1",
"eslint-config-google": "^0.14.0",
- "eslint-plugin-react": "^7.21.5"
+ "eslint-plugin-react": "^7.21.5",
+ "stylelint": "^13.9.0",
+ "stylelint-config-standard": "^20.0.0"
}
}
diff --git a/src/components/elements/markdown/main.css b/src/components/elements/markdown/main.css
index e38669f0..9fd9c2a4 100644
--- a/src/components/elements/markdown/main.css
+++ b/src/components/elements/markdown/main.css
@@ -1,58 +1,66 @@
-.markdown-body h1, .markdown-body h2, .markdown-body h3,
-.markdown-body h4, .markdown-body h5, .markdown-body h6 {
- color: skyblue;
+.markdown-body h1,
+.markdown-body h2,
+.markdown-body h3,
+.markdown-body h4,
+.markdown-body h5,
+.markdown-body h6 {
+ color: skyblue;
}
.markdown-body pre {
- background-color: #151515;
- color: #00ff00;
- padding: 10px;
- border-radius: 0.25rem;
+ background-color: #151515;
+ color: #0f0;
+ padding: 10px;
+ border-radius: 0.25rem;
}
.markdown-body table {
- display: table;
- width: 100%;
- margin-bottom: 1rem;
- border: 0;
- color: #FFFFFF;
- background-color: #0e0e0e;
- border-collapse: collapse;
- border-spacing: 2px;
+ display: table;
+ width: 100%;
+ margin-bottom: 1rem;
+ border: 0;
+ color: #fff;
+ background-color: #0e0e0e;
+ border-collapse: collapse;
+ border-spacing: 2px;
}
.markdown-body blockquote {
- background-color: #222222;
- border-radius: 10px;
- color: #CCCCCC;
+ background-color: #222;
+ border-radius: 10px;
+ color: #ccc;
}
.markdown-body strong {
- color: #BBBBFF;
+ color: #bbf;
}
-.markdown-body table, .markdown-body thead, .markdown-body th {
- vertical-align: bottom;
- border-bottom: 2px solid #dee2e6;
+.markdown-body table,
+.markdown-body thead,
+.markdown-body th {
+ vertical-align: bottom;
+ border-bottom: 2px solid #dee2e6;
}
-.markdown-body th, .markdown-body td {
- padding: 0.75rem;
- border: 1px solid #454d55;
+.markdown-body th,
+.markdown-body td {
+ padding: 0.75rem;
+ border: 1px solid #454d55;
}
-.markdown-body thead th, .markdown-body tbody td {
- border-bottom-width: 2px;
+.markdown-body thead th,
+.markdown-body tbody td {
+ border-bottom-width: 2px;
}
.markdown-body tbody tr:nth-of-type(odd) {
- background-color: rgba(255, 255, 255, 0.05);
+ background-color: rgba(255, 255, 255, 0.05);
}
.markdown-body tbody tr:hover {
- background-color: rgb(50, 50, 50);
+ background-color: rgb(50, 50, 50);
}
.markdown-body tbody tr:hover:nth-of-type(odd) {
- background-color: rgb(50, 50, 50);
+ background-color: rgb(50, 50, 50);
}
diff --git a/src/index.css b/src/index.css
index 5e933742..970a57ff 100644
--- a/src/index.css
+++ b/src/index.css
@@ -2,15 +2,29 @@
body {
margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
+ font-family:
+ -apple-system,
+ BlinkMacSystemFont,
+ 'Segoe UI',
+ 'Roboto',
+ 'Oxygen',
+ 'Ubuntu',
+ 'Cantarell',
+ 'Fira Sans',
+ 'Droid Sans',
+ 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
+ font-family:
+ source-code-pro,
+ Menlo,
+ Monaco,
+ Consolas,
+ 'Courier New',
monospace;
}
@@ -19,13 +33,13 @@ img {
max-height: 100%;
}
-p, ul {
- margin: 0.5rem !important;
+p,
+ul {
+ margin: 0.5rem;
}
/* endregion */
-
/* region Selective styling */
div.footer {
@@ -33,13 +47,13 @@ div.footer {
}
div.btn-group-toggle > label.btn.active {
- background-color: #c6c6c6 !important;
+ background-color: #c6c6c6;
}
/* endregion */
-
/* region Youtube Embed */
+
/* https://www.ankursheel.com/blog/full-width-you-tube-video-embed */
div.youtube-embed {
From e45c70ffd3a127e831c04213e8753d084f4a335f Mon Sep 17 00:00:00 2001
From: RaenonX
Date: Sun, 24 Jan 2021 20:33:38 -0600
Subject: [PATCH 2/3] ADD - toggle for SS only in attacking skills (closes #60)
Signed-off-by: RaenonX
---
public/locales/cht/translation.json | 10 +++++++---
public/locales/en/translation.json | 10 +++++++---
public/locales/jp/translation.json | 10 +++++++---
.../elements/gameData/skillAtk/inputMain.tsx | 15 ++++++++++-----
.../elements/gameData/skillAtk/inputSection.tsx | 17 ++++++++++++++++-
.../gameData/skillAtk/outputMain.test.tsx | 10 ++++++++++
.../elements/gameData/skillAtk/outputMain.tsx | 5 +++++
7 files changed, 62 insertions(+), 15 deletions(-)
diff --git a/public/locales/cht/translation.json b/public/locales/cht/translation.json
index 74108ce8..b9ab0f80 100644
--- a/public/locales/cht/translation.json
+++ b/public/locales/cht/translation.json
@@ -77,7 +77,9 @@
"target_def_bk": "BK 降防率",
"filter": "條件篩選",
"filter_element": "屬性",
- "filter_affliction": "異常狀態"
+ "filter_affliction": "異常狀態",
+ "filter_other": "其他",
+ "filter_shared_only": "限定共享技"
},
"desc": {
"atk": "泛指所有遊戲內與攻擊力有關的參數。",
@@ -112,7 +114,8 @@
"target_def_bk": "BK 時,目標的防禦變動係數。通常為 0.6;暗牙、絕牙為 0.8 (BSK 1.25)。",
"filter": "如果此區塊中有任何條件被勾選,則符合任一勾選條件的技能條目將會被列入,否則略過。",
"filter_element": "如果複選屬性,例如: 火、風,則所有火屬性角色或風屬性角色的技能條目將會被列入,否則略過。",
- "filter_affliction": "如果複選異常狀態,例如: 毒、火燒,則所有會上毒或火燒的條目將會被列入,否則略過。注意,這邊的條件篩選指的是技能本身所帶的異常狀態,並非異常特攻。"
+ "filter_affliction": "如果複選異常狀態,例如: 毒、火燒,則所有會上毒或火燒的條目將會被列入,否則略過。注意,這邊的條件篩選指的是技能本身所帶的異常狀態,並非異常特攻。",
+ "filter_other": "其他篩選條件。如果有勾選限定共享技,則篩選、計算時,只會考慮、顯示共享技能。"
},
"entry": {
"not_cancelable": "此技能無法取消。",
@@ -152,7 +155,8 @@
"punisher": "特攻 - {{punisherVal}}",
"punisher_data": "BK 特攻 {{punishersBkPct}}% / 其他特攻 {{punishersOtherPct}}%",
"other": "其它",
- "other_data": "屬性增傷 +{{otherElemBonusPct}}% / HP {{otherCurrentHpPct}}%"
+ "other_data": "屬性增傷 +{{otherElemBonusPct}}% / HP {{otherCurrentHpPct}}%",
+ "shared_only": "只顯示共享技"
},
"collapse": "摺疊/展開",
"search": "搜尋"
diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json
index c9b1c317..205de350 100644
--- a/public/locales/en/translation.json
+++ b/public/locales/en/translation.json
@@ -77,7 +77,9 @@
"target_def_bk": "BK Def Reduction",
"filter": "Filter",
"filter_element": "Element",
- "filter_affliction": "Affliction"
+ "filter_affliction": "Affliction",
+ "filter_other": "其他",
+ "filter_shared_only": "限定共享技"
},
"desc": {
"atk": "Any parameter that relates to strength",
@@ -112,7 +114,8 @@
"target_def_bk": "Target’s def reduction during break state. Usual 0.6; Tartarus and LVolk are 0.8 (BSK 1.25)",
"filter": "If any filter is selected, then the parameters that apply will be listed, otherwise they will be skipped.",
"filter_element": "If multiple elements are selected, such as flame and wind, then all flame and wind characters’ skills will be listed, otherwise they will be skipped.",
- "filter_affliction": "If multiple afflictions are selected, such as poison and burn, then anything that applies poison or burn will be listed, otherwise they will be skipped. Note: This filters for skills that apply afflictions, not ones that have affliction punishers."
+ "filter_affliction": "If multiple afflictions are selected, such as poison and burn, then anything that applies poison or burn will be listed, otherwise they will be skipped. Note: This filters for skills that apply afflictions, not ones that have affliction punishers.",
+ "filter_other": "其他篩選條件。如果有勾選限定共享技,則篩選、計算時,只會考慮、顯示共享技能。"
},
"entry": {
"not_cancelable": "This skill is not cancelable",
@@ -152,7 +155,8 @@
"punisher": "Punisher - {{punisherVal}}",
"punisher_data": "BK {{punishersBkPct}}% / Other {{punishersOtherPct}}%",
"other": "Others",
- "other_data": "Element +{{otherElemBonusPct}}% / HP {{otherCurrentHpPct}}%"
+ "other_data": "Element +{{otherElemBonusPct}}% / HP {{otherCurrentHpPct}}%",
+ "shared_only": "Shared Skill Only"
},
"collapse": "Collapse/Expand",
"search": "Search"
diff --git a/public/locales/jp/translation.json b/public/locales/jp/translation.json
index 7b8f9ce4..decb746f 100644
--- a/public/locales/jp/translation.json
+++ b/public/locales/jp/translation.json
@@ -77,7 +77,9 @@
"target_def_bk": "BK 降防率",
"filter": "條件篩選",
"filter_element": "屬性",
- "filter_affliction": "異常狀態"
+ "filter_affliction": "異常狀態",
+ "filter_other": "其他",
+ "filter_shared_only": "限定共享技"
},
"desc": {
"atk": "泛指所有遊戲內與攻擊力有關的參數。",
@@ -112,7 +114,8 @@
"target_def_bk": "BK 時,目標的防禦變動係數。通常為 0.6;暗牙、絕牙為 0.8 (BSK 1.25)。",
"filter": "如果此區塊中有任何條件被勾選,則符合任一勾選條件的技能條目將會被列入,否則略過。",
"filter_element": "如果複選屬性,例如: 火、風,則所有火屬性角色或風屬性角色的技能條目將會被列入,否則略過。",
- "filter_affliction": "如果複選異常狀態,例如: 毒、火燒,則所有會上毒或火燒的條目將會被列入,否則略過。注意,這邊的條件篩選指的是技能本身所帶的異常狀態,並非異常特攻。"
+ "filter_affliction": "如果複選異常狀態,例如: 毒、火燒,則所有會上毒或火燒的條目將會被列入,否則略過。注意,這邊的條件篩選指的是技能本身所帶的異常狀態,並非異常特攻。",
+ "filter_other": "其他篩選條件。如果有勾選限定共享技,則篩選、計算時,只會考慮、顯示共享技能。"
},
"entry": {
"not_cancelable": "此技能無法取消。",
@@ -152,7 +155,8 @@
"punisher": "特攻 - {{punisherVal}}",
"punisher_data": "BK 特攻 {{punishersBkPct}}% / 其他特攻 {{punishersOtherPct}}%",
"other": "其它",
- "other_data": "屬性增傷 +{{otherElemBonusPct}}% / HP {{otherCurrentHpPct}}%"
+ "other_data": "屬性增傷 +{{otherElemBonusPct}}% / HP {{otherCurrentHpPct}}%",
+ "shared_only": "只顯示共享技"
},
"collapse": "ズームイン/アウト",
"search": "搜尋"
diff --git a/src/components/elements/gameData/skillAtk/inputMain.tsx b/src/components/elements/gameData/skillAtk/inputMain.tsx
index 371d4e95..ceb7c6aa 100644
--- a/src/components/elements/gameData/skillAtk/inputMain.tsx
+++ b/src/components/elements/gameData/skillAtk/inputMain.tsx
@@ -163,6 +163,9 @@ const InputSummary = ({inputData}: InputSummaryProps) => {
},
)
}
+ {
+ inputData.filterSharedOnly && <>
{t('game.skill_atk.summary.shared_only')}>
+ }
>
);
@@ -293,6 +296,7 @@ const InputComponent = ({collapsed, inputData, setInputData}: InputComponentProp
>
);
@@ -319,17 +323,17 @@ type InputProps = {
export const AttackingSkillInput = ({onSearchRequested}: InputProps) => {
const {t} = useTranslation();
- const [collapsed, setCollapsed] = React.useState(false);
+ const [collapsed, setCollapsed] = React.useState(true);
const [inputData, setInputData] = React.useState({
- atkInGame: 5000,
+ atkInGame: 7000,
atkConditionalPct: 20,
- atkBuffPct: 0,
+ atkBuffPct: 30,
buffCount: 0,
buffZoneSelf: 0,
buffZoneAlly: 0,
- exBlade: false,
- exWand: false,
+ exBlade: true,
+ exWand: true,
criticalRatePct: 4,
criticalDamagePct: 0,
criticalInspired: false,
@@ -348,6 +352,7 @@ export const AttackingSkillInput = ({onSearchRequested}: InputProps) => {
targetStateCode: ConditionCodes.NONE,
filterElementCode: [],
filterAfflictionCondCode: [],
+ filterSharedOnly: false,
});
const onCollapseClicked = () => {
diff --git a/src/components/elements/gameData/skillAtk/inputSection.tsx b/src/components/elements/gameData/skillAtk/inputSection.tsx
index 3d6e042f..c156d0f2 100644
--- a/src/components/elements/gameData/skillAtk/inputSection.tsx
+++ b/src/components/elements/gameData/skillAtk/inputSection.tsx
@@ -1,4 +1,5 @@
import React, {ChangeEventHandler} from 'react';
+import {Form} from 'react-bootstrap';
import {ConditionCodes} from '../../../../constants/gameData';
import {CategorizedConditionEnums, ElementEnums} from '../../../../utils/services/resources/types';
@@ -38,6 +39,7 @@ export type InputData = {
targetStateCode: ConditionCodes.NONE | ConditionCodes.TARGET_STATE_BK | ConditionCodes.TARGET_STATE_OD,
filterElementCode: Array,
filterAfflictionCondCode: Array,
+ filterSharedOnly: boolean,
}
type SectionProps = {
@@ -272,11 +274,16 @@ export const SectionTarget = (props: SectionTargetProps) => {
);
};
-type SectionFilterProps = SectionPropsWithCheckMulti & SectionPropsWithCondEnums & SectionPropsWithElemEnums;
+type SectionFilterProps =
+ SectionPropsWithCheck &
+ SectionPropsWithCheckMulti &
+ SectionPropsWithCondEnums &
+ SectionPropsWithElemEnums;
export const SectionFilter = (props: SectionFilterProps) => {
const {
inputData,
+ fnUpdateInputDataCheck,
fnUpdateInputDataCheckMulti,
conditionEnums,
elementEnums,
@@ -301,6 +308,14 @@ export const SectionFilter = (props: SectionFilterProps) => {
enumEntries={conditionEnums.afflictions}
type="checkbox" groupName="filterAfflictionCondCode" onChange={fnUpdateInputDataCheckMulti}
isChecked={(code: number) => inputData.filterAfflictionCondCode.includes(code)}/>
+
+
+
+
>
);
};
diff --git a/src/components/elements/gameData/skillAtk/outputMain.test.tsx b/src/components/elements/gameData/skillAtk/outputMain.test.tsx
index ccce0a7f..0f54a4ff 100644
--- a/src/components/elements/gameData/skillAtk/outputMain.test.tsx
+++ b/src/components/elements/gameData/skillAtk/outputMain.test.tsx
@@ -30,6 +30,7 @@ const inputDataTemplate: InputData = {
targetStateCode: ConditionCodes.NONE,
filterElementCode: [],
filterAfflictionCondCode: [],
+ filterSharedOnly: false,
};
it('checks if the promise is returning data', async () => {
@@ -47,6 +48,15 @@ it('checks if all entries are returned when no filter is applicable', async () =
});
});
+it('checks if SS only filtering is working correctly', async () => {
+ await ResourceLoader.getAttackingSkillEntries((data) => data)
+ .then((data) => {
+ const dataFiltered = filterSkillEntries({...inputDataTemplate, filterSharedOnly: true}, data);
+ expect(dataFiltered.length).toBeGreaterThan(0);
+ expect(dataFiltered.map((entry) => entry.skill.sharable)).not.toContain(false);
+ });
+});
+
it('checks if elemental filtering is working correctly', async () => {
const enumElements = () => ResourceLoader.getEnumElements();
const attackingEntries = () => ResourceLoader.getAttackingSkillEntries();
diff --git a/src/components/elements/gameData/skillAtk/outputMain.tsx b/src/components/elements/gameData/skillAtk/outputMain.tsx
index 86b48f97..768c3bb3 100644
--- a/src/components/elements/gameData/skillAtk/outputMain.tsx
+++ b/src/components/elements/gameData/skillAtk/outputMain.tsx
@@ -19,6 +19,11 @@ export type CalculatedData = {
export const filterSkillEntries = (inputData: InputData, atkSkillEntries: Array) => {
+ // Filter shared skill only if set
+ if (inputData.filterSharedOnly) {
+ atkSkillEntries = atkSkillEntries.filter((entry) => entry.skill.sharable);
+ }
+
// Filter element if specified
if (inputData.filterElementCode.length > 0) {
atkSkillEntries = atkSkillEntries
From d031f7a85f01523582f9408a65fe1ab7e3786ccb Mon Sep 17 00:00:00 2001
From: RaenonX
Date: Sun, 24 Jan 2021 20:38:02 -0600
Subject: [PATCH 3/3] FIX - Unbalanced layout (closes #23)
Signed-off-by: RaenonX
---
src/components/elements/posts/analysis/skill.tsx | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/components/elements/posts/analysis/skill.tsx b/src/components/elements/posts/analysis/skill.tsx
index 05d0bb26..cb7889a1 100644
--- a/src/components/elements/posts/analysis/skill.tsx
+++ b/src/components/elements/posts/analysis/skill.tsx
@@ -1,9 +1,9 @@
import React, {ChangeEventHandler} from 'react';
-import {useTranslation} from 'react-i18next';
import {Col, Form, Row} from 'react-bootstrap';
+import {useTranslation} from 'react-i18next';
+import {MarkdownInput} from '../../markdown/input';
import {Markdown} from '../../markdown/main';
-import {MarkdownInput} from '../../markdown/input';
import {PageAnchor} from '../pageAnchor';
@@ -104,7 +104,7 @@ export const AnalysisSkillOutput = (props: AnalysisSkillOutputProps) => {
{
(rotations || tips) &&
-
+
{
rotations &&
<>