diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 71df6b2e3c..004164d2c1 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -65,6 +65,8 @@ jobs:
run: npm run lint
- name: Run prettier
run: npm run prettier
+ - name: Run stylelint
+ run: npm run stylelint
Test:
runs-on: ubuntu-latest
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 0000000000..c0f64a8361
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,2 @@
+dist/
+build/
diff --git a/package-lock.json b/package-lock.json
index e42b0f6947..5ac827b10f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -88,6 +88,12 @@
"postcss": "^8.2.13",
"prettier": "^2.7.1",
"promise-worker": "^2.0.1",
+ "stylelint": "^14.9.1",
+ "stylelint-config-prettier": "^9.0.3",
+ "stylelint-config-recommended-vue": "^1.4.0",
+ "stylelint-config-standard": "^26.0.0",
+ "stylelint-config-tailwindcss": "^0.0.6",
+ "stylelint-prettier": "^2.0.0",
"tailwind-config-viewer": "^1.5.0",
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17",
"ts-jest": "^27.1.3",
@@ -2186,6 +2192,23 @@
"node": ">=12"
}
},
+ "node_modules/@csstools/selector-specificity": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
+ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
+ "dev": true,
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2",
+ "postcss-selector-parser": "^6.0.10"
+ }
+ },
"node_modules/@ensdomains/content-hash": {
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@ensdomains/content-hash/-/content-hash-2.5.7.tgz",
@@ -10650,6 +10673,18 @@
"node": ">=0.8"
}
},
+ "node_modules/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,
+ "dependencies": {
+ "is-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@@ -10761,6 +10796,12 @@
"integrity": "sha512-0ajlNgWWOR7EK9N6l2h0YKsZPzMCLQG5bheCoTGpGfhkR8tB5eQNItdua1oFHDTeq9JKgSzQJqo+Gp3V/xW+Lw==",
"dev": true
},
+ "node_modules/colord": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
+ "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+ "dev": true
+ },
"node_modules/colorette": {
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
@@ -12109,6 +12150,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/css-functions-list": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+ "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ }
+ },
"node_modules/css-loader": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
@@ -13196,9 +13246,9 @@
}
},
"node_modules/domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true,
"funding": [
{
@@ -15622,6 +15672,18 @@
"node": ">=6"
}
},
+ "node_modules/execall": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
+ "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
+ "dev": true,
+ "dependencies": {
+ "clone-regexp": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/exit": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -16173,6 +16235,15 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
+ "node_modules/fastest-levenshtein": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz",
+ "integrity": "sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.9.1"
+ }
+ },
"node_modules/fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -17128,6 +17199,18 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
+ "node_modules/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,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/get-stream": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
@@ -17307,6 +17390,32 @@
"process": "^0.11.10"
}
},
+ "node_modules/global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "dependencies": {
+ "global-prefix": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "dependencies": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -17345,6 +17454,12 @@
"node": ">=8"
}
},
+ "node_modules/globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
+ "dev": true
+ },
"node_modules/got": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -17830,12 +17945,15 @@
}
},
"node_modules/html-tags": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
- "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz",
+ "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
"dev": true,
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/html-webpack-plugin": {
@@ -18241,6 +18359,15 @@
"node": ">=4"
}
},
+ "node_modules/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,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/import-local": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
@@ -18838,6 +18965,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/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,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/is-relative": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -22943,6 +23079,12 @@
"node": ">=6"
}
},
+ "node_modules/known-css-properties": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
+ "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
+ "dev": true
+ },
"node_modules/koa": {
"version": "2.13.4",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz",
@@ -23773,6 +23915,12 @@
"integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=",
"dev": true
},
+ "node_modules/lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true
+ },
"node_modules/lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -24015,6 +24163,16 @@
"remove-accents": "0.4.2"
}
},
+ "node_modules/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,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
"node_modules/md5.js": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -24145,19 +24303,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/meow/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/meow/node_modules/hosted-git-info": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
@@ -24170,18 +24315,6 @@
"node": ">=10"
}
},
- "node_modules/meow/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/meow/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -24209,53 +24342,6 @@
"node": ">=10"
}
},
- "node_modules/meow/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/meow/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/meow/node_modules/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,
- "dependencies": {
- "find-up": "^4.1.0",
- "read-pkg": "^5.2.0",
- "type-fest": "^0.8.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/meow/node_modules/read-pkg-up/node_modules/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,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/meow/node_modules/semver": {
"version": "7.3.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@@ -26798,6 +26884,108 @@
"node": ">=0.10.0"
}
},
+ "node_modules/postcss-html": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.5.0.tgz",
+ "integrity": "sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "htmlparser2": "^8.0.0",
+ "js-tokens": "^8.0.0",
+ "postcss": "^8.4.0",
+ "postcss-safe-parser": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12 || >=14"
+ }
+ },
+ "node_modules/postcss-html/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/postcss-html/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/postcss-html/node_modules/domutils": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/postcss-html/node_modules/entities": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz",
+ "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/postcss-html/node_modules/htmlparser2": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+ "dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "peer": true,
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
+ }
+ },
+ "node_modules/postcss-html/node_modules/js-tokens": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.0.tgz",
+ "integrity": "sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==",
+ "dev": true,
+ "peer": true
+ },
"node_modules/postcss-js": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz",
@@ -26906,6 +27094,12 @@
"node": ">=0.10.0"
}
},
+ "node_modules/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": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
+ "dev": true
+ },
"node_modules/postcss-merge-longhand": {
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
@@ -27947,6 +28141,28 @@
"node": ">=0.10.0"
}
},
+ "node_modules/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": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==",
+ "dev": true
+ },
+ "node_modules/postcss-safe-parser": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
+ "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3"
+ }
+ },
"node_modules/postcss-selector-parser": {
"version": "6.0.10",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
@@ -28047,9 +28263,9 @@
}
},
"node_modules/postcss-value-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
"node_modules/postcss/node_modules/picocolors": {
@@ -28749,6 +28965,78 @@
"node": ">=8"
}
},
+ "node_modules/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,
+ "dependencies": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg-up/node_modules/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,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/read-pkg/node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -29274,6 +29562,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/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,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -31128,6 +31425,12 @@
"lodash.defaults": "^4.2.0"
}
},
+ "node_modules/style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
+ "dev": true
+ },
"node_modules/stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
@@ -31182,6 +31485,454 @@
"node": ">=0.10.0"
}
},
+ "node_modules/stylelint": {
+ "version": "14.9.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.9.1.tgz",
+ "integrity": "sha512-RdAkJdPiLqHawCSnu21nE27MjNXaVd4WcOHA4vK5GtIGjScfhNnaOuWR2wWdfKFAvcWQPOYe311iveiVKSmwsA==",
+ "dev": true,
+ "dependencies": {
+ "@csstools/selector-specificity": "^2.0.1",
+ "balanced-match": "^2.0.0",
+ "colord": "^2.9.2",
+ "cosmiconfig": "^7.0.1",
+ "css-functions-list": "^3.1.0",
+ "debug": "^4.3.4",
+ "execall": "^2.0.0",
+ "fast-glob": "^3.2.11",
+ "fastest-levenshtein": "^1.0.12",
+ "file-entry-cache": "^6.0.1",
+ "get-stdin": "^8.0.0",
+ "global-modules": "^2.0.0",
+ "globby": "^11.1.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.2.0",
+ "ignore": "^5.2.0",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-plain-object": "^5.0.0",
+ "known-css-properties": "^0.25.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.14",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^6.0.0",
+ "postcss-selector-parser": "^6.0.10",
+ "postcss-value-parser": "^4.2.0",
+ "resolve-from": "^5.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "style-search": "^0.1.0",
+ "supports-hyperlinks": "^2.2.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.8.0",
+ "v8-compile-cache": "^2.3.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "bin": {
+ "stylelint": "bin/stylelint.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/stylelint"
+ }
+ },
+ "node_modules/stylelint-config-html": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-html/-/stylelint-config-html-1.1.0.tgz",
+ "integrity": "sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12 || >=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ota-meshi"
+ },
+ "peerDependencies": {
+ "postcss-html": "^1.0.0",
+ "stylelint": ">=14.0.0"
+ }
+ },
+ "node_modules/stylelint-config-prettier": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.3.tgz",
+ "integrity": "sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==",
+ "dev": true,
+ "bin": {
+ "stylelint-config-prettier": "bin/check.js",
+ "stylelint-config-prettier-check": "bin/check.js"
+ },
+ "engines": {
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "stylelint": ">=11.0.0"
+ }
+ },
+ "node_modules/stylelint-config-recommended": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz",
+ "integrity": "sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==",
+ "dev": true,
+ "peerDependencies": {
+ "stylelint": "^14.8.0"
+ }
+ },
+ "node_modules/stylelint-config-recommended-vue": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.4.0.tgz",
+ "integrity": "sha512-DVJqyX2KvMCn9U0+keL12r7xlsH26K4Vg8NrIZuq5MoF7g82DpMp326Om4E0Q+Il1o+bTHuUyejf2XAI0iD04Q==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.3.5",
+ "stylelint-config-html": ">=1.0.0",
+ "stylelint-config-recommended": ">=6.0.0"
+ },
+ "engines": {
+ "node": "^12 || >=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ota-meshi"
+ },
+ "peerDependencies": {
+ "postcss-html": "^1.0.0",
+ "stylelint": ">=14.0.0"
+ }
+ },
+ "node_modules/stylelint-config-recommended-vue/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/stylelint-config-recommended-vue/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stylelint-config-recommended-vue/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
+ },
+ "node_modules/stylelint-config-standard": {
+ "version": "26.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-26.0.0.tgz",
+ "integrity": "sha512-hUuB7LaaqM8abvkOO84wh5oYSkpXgTzHu2Zza6e7mY+aOmpNTjoFBRxSLlzY0uAOMWEFx0OMKzr+reG1BUtcqQ==",
+ "dev": true,
+ "dependencies": {
+ "stylelint-config-recommended": "^8.0.0"
+ },
+ "peerDependencies": {
+ "stylelint": "^14.9.0"
+ }
+ },
+ "node_modules/stylelint-config-tailwindcss": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/stylelint-config-tailwindcss/-/stylelint-config-tailwindcss-0.0.6.tgz",
+ "integrity": "sha512-ymqhRR0Ob7vZmMHkgkBZk2H1PO7Z+yRLxv/c3RpKavdVJNlXEdkabaDVkHaE4Zp37Y9LlpBfWYHX23Xl8HVvIw==",
+ "dev": true,
+ "peerDependencies": {
+ "stylelint": ">=13.13.1",
+ "tailwindcss": ">=2.2.16"
+ }
+ },
+ "node_modules/stylelint-prettier": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-2.0.0.tgz",
+ "integrity": "sha512-jvT3G+9lopkeB0ARmDPszyfaOnvnIF+30QCjZxyt7E6fynI1T9mOKgYDNb9bXX17M7PXMZaX3j/26wqakjp1tw==",
+ "dev": true,
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "prettier": ">=2.0.0",
+ "stylelint": ">=14.0.0"
+ }
+ },
+ "node_modules/stylelint/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/stylelint/node_modules/balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true
+ },
+ "node_modules/stylelint/node_modules/cosmiconfig": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "dev": true,
+ "dependencies": {
+ "@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"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stylelint/node_modules/hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stylelint/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/stylelint/node_modules/import-fresh/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/stylelint/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stylelint/node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/stylelint/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/stylelint/node_modules/meow": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
+ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+ "dev": true,
+ "dependencies": {
+ "@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"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/stylelint/node_modules/normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stylelint/node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/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/stylelint/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stylelint/node_modules/semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/stylelint/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/stylelint/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/stylelint/node_modules/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,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/stylelint/node_modules/write-file-atomic": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
+ "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ }
+ },
+ "node_modules/stylelint/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
+ },
"node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -31421,6 +32172,138 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true
},
+ "node_modules/table": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
+ "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/table/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/table/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/table/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/table/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/table/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/table/node_modules/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
+ },
+ "node_modules/table/node_modules/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,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/table/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/table/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/tailwind-config-viewer": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/tailwind-config-viewer/-/tailwind-config-viewer-1.6.2.tgz",
@@ -37841,6 +38724,13 @@
"@cspotcode/source-map-consumer": "0.8.0"
}
},
+ "@csstools/selector-specificity": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
+ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
+ "dev": true,
+ "requires": {}
+ },
"@ensdomains/content-hash": {
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/@ensdomains/content-hash/-/content-hash-2.5.7.tgz",
@@ -44426,6 +45316,15 @@
"integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
"dev": true
},
+ "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"
+ }
+ },
"clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@@ -44521,6 +45420,12 @@
"integrity": "sha512-0ajlNgWWOR7EK9N6l2h0YKsZPzMCLQG5bheCoTGpGfhkR8tB5eQNItdua1oFHDTeq9JKgSzQJqo+Gp3V/xW+Lw==",
"dev": true
},
+ "colord": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
+ "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+ "dev": true
+ },
"colorette": {
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
@@ -45652,6 +46557,12 @@
}
}
},
+ "css-functions-list": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+ "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
+ "dev": true
+ },
"css-loader": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
@@ -46499,9 +47410,9 @@
"dev": true
},
"domelementtype": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
- "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
"dev": true
},
"domexception": {
@@ -48423,6 +49334,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",
@@ -48884,6 +49804,12 @@
"integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
"dev": true
},
+ "fastest-levenshtein": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.14.tgz",
+ "integrity": "sha512-tFfWHjnuUfKE186Tfgr+jtaFc0mZTApEgKDOeyN+FwOqRkO/zK/3h1AiRd8u8CY53owL3CUmGr/oI9p/RdyLTA==",
+ "dev": true
+ },
"fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -49658,6 +50584,12 @@
}
}
},
+ "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",
@@ -49804,6 +50736,26 @@
"process": "^0.11.10"
}
},
+ "global-modules": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
+ "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==",
+ "dev": true,
+ "requires": {
+ "global-prefix": "^3.0.0"
+ }
+ },
+ "global-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz",
+ "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==",
+ "dev": true,
+ "requires": {
+ "ini": "^1.3.5",
+ "kind-of": "^6.0.2",
+ "which": "^1.3.1"
+ }
+ },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -49832,6 +50784,12 @@
}
}
},
+ "globjoin": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz",
+ "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
+ "dev": true
+ },
"got": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
@@ -50216,9 +51174,9 @@
}
},
"html-tags": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
- "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz",
+ "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
"dev": true
},
"html-webpack-plugin": {
@@ -50524,6 +51482,12 @@
"resolve-from": "^3.0.0"
}
},
+ "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": "2.0.0",
"resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
@@ -50958,6 +51922,12 @@
"has-tostringtag": "^1.0.0"
}
},
+ "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
+ },
"is-relative": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -54121,6 +55091,12 @@
"integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
"dev": true
},
+ "known-css-properties": {
+ "version": "0.25.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz",
+ "integrity": "sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==",
+ "dev": true
+ },
"koa": {
"version": "2.13.4",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz",
@@ -54784,6 +55760,12 @@
"integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=",
"dev": true
},
+ "lodash.truncate": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+ "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+ "dev": true
+ },
"lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -54967,6 +55949,12 @@
"remove-accents": "0.4.2"
}
},
+ "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",
@@ -55086,16 +56074,6 @@
"yargs-parser": "^20.2.3"
},
"dependencies": {
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
"hosted-git-info": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz",
@@ -55105,15 +56083,6 @@
"lru-cache": "^6.0.0"
}
},
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
"lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
@@ -55135,40 +56104,6 @@
"validate-npm-package-license": "^3.0.1"
}
},
- "p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
- },
- "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.5",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
@@ -57252,6 +58187,82 @@
}
}
},
+ "postcss-html": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-1.5.0.tgz",
+ "integrity": "sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "htmlparser2": "^8.0.0",
+ "js-tokens": "^8.0.0",
+ "postcss": "^8.4.0",
+ "postcss-safe-parser": "^6.0.0"
+ },
+ "dependencies": {
+ "dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ }
+ },
+ "domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "domelementtype": "^2.3.0"
+ }
+ },
+ "domutils": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
+ }
+ },
+ "entities": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.3.1.tgz",
+ "integrity": "sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg==",
+ "dev": true,
+ "peer": true
+ },
+ "htmlparser2": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+ "dev": true,
+ "peer": true,
+ "requires": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
+ }
+ },
+ "js-tokens": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.0.tgz",
+ "integrity": "sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==",
+ "dev": true,
+ "peer": true
+ }
+ }
+ },
"postcss-js": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz",
@@ -57331,6 +58342,12 @@
}
}
},
+ "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": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
+ "dev": true
+ },
"postcss-merge-longhand": {
"version": "4.0.11",
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
@@ -58116,6 +59133,19 @@
}
}
},
+ "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": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==",
+ "dev": true
+ },
+ "postcss-safe-parser": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz",
+ "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
+ "dev": true,
+ "requires": {}
+ },
"postcss-selector-parser": {
"version": "6.0.10",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
@@ -58191,9 +59221,9 @@
}
},
"postcss-value-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
"dev": true
},
"preact": {
@@ -58749,6 +59779,59 @@
}
}
},
+ "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": {
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "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
+ }
+ }
+ },
"readable-stream": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -59147,6 +60230,12 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
+ "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",
@@ -60674,6 +61763,12 @@
"lodash.defaults": "^4.2.0"
}
},
+ "style-search": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz",
+ "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
+ "dev": true
+ },
"stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
@@ -60714,6 +61809,329 @@
}
}
},
+ "stylelint": {
+ "version": "14.9.1",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.9.1.tgz",
+ "integrity": "sha512-RdAkJdPiLqHawCSnu21nE27MjNXaVd4WcOHA4vK5GtIGjScfhNnaOuWR2wWdfKFAvcWQPOYe311iveiVKSmwsA==",
+ "dev": true,
+ "requires": {
+ "@csstools/selector-specificity": "^2.0.1",
+ "balanced-match": "^2.0.0",
+ "colord": "^2.9.2",
+ "cosmiconfig": "^7.0.1",
+ "css-functions-list": "^3.1.0",
+ "debug": "^4.3.4",
+ "execall": "^2.0.0",
+ "fast-glob": "^3.2.11",
+ "fastest-levenshtein": "^1.0.12",
+ "file-entry-cache": "^6.0.1",
+ "get-stdin": "^8.0.0",
+ "global-modules": "^2.0.0",
+ "globby": "^11.1.0",
+ "globjoin": "^0.1.4",
+ "html-tags": "^3.2.0",
+ "ignore": "^5.2.0",
+ "import-lazy": "^4.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-plain-object": "^5.0.0",
+ "known-css-properties": "^0.25.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^9.0.0",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.14",
+ "postcss-media-query-parser": "^0.2.3",
+ "postcss-resolve-nested-selector": "^0.1.1",
+ "postcss-safe-parser": "^6.0.0",
+ "postcss-selector-parser": "^6.0.10",
+ "postcss-value-parser": "^4.2.0",
+ "resolve-from": "^5.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "style-search": "^0.1.0",
+ "supports-hyperlinks": "^2.2.0",
+ "svg-tags": "^1.0.0",
+ "table": "^6.8.0",
+ "v8-compile-cache": "^2.3.0",
+ "write-file-atomic": "^4.0.1"
+ },
+ "dependencies": {
+ "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
+ },
+ "balanced-match": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz",
+ "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
+ "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+ "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"
+ }
+ },
+ "hosted-git-info": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz",
+ "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "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"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "dev": true
+ },
+ "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"
+ }
+ },
+ "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"
+ }
+ },
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz",
+ "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^4.0.1",
+ "is-core-module": "^2.5.0",
+ "semver": "^7.3.4",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "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
+ },
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ },
+ "write-file-atomic": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
+ "integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "stylelint-config-html": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-html/-/stylelint-config-html-1.1.0.tgz",
+ "integrity": "sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "stylelint-config-prettier": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.3.tgz",
+ "integrity": "sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==",
+ "dev": true,
+ "requires": {}
+ },
+ "stylelint-config-recommended": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-8.0.0.tgz",
+ "integrity": "sha512-IK6dWvE000+xBv9jbnHOnBq01gt6HGVB2ZTsot+QsMpe82doDQ9hvplxfv4YnpEuUwVGGd9y6nbaAnhrjcxhZQ==",
+ "dev": true,
+ "requires": {}
+ },
+ "stylelint-config-recommended-vue": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.4.0.tgz",
+ "integrity": "sha512-DVJqyX2KvMCn9U0+keL12r7xlsH26K4Vg8NrIZuq5MoF7g82DpMp326Om4E0Q+Il1o+bTHuUyejf2XAI0iD04Q==",
+ "dev": true,
+ "requires": {
+ "semver": "^7.3.5",
+ "stylelint-config-html": ">=1.0.0",
+ "stylelint-config-recommended": ">=6.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ },
+ "semver": {
+ "version": "7.3.7",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz",
+ "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+ },
+ "stylelint-config-standard": {
+ "version": "26.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-26.0.0.tgz",
+ "integrity": "sha512-hUuB7LaaqM8abvkOO84wh5oYSkpXgTzHu2Zza6e7mY+aOmpNTjoFBRxSLlzY0uAOMWEFx0OMKzr+reG1BUtcqQ==",
+ "dev": true,
+ "requires": {
+ "stylelint-config-recommended": "^8.0.0"
+ }
+ },
+ "stylelint-config-tailwindcss": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/stylelint-config-tailwindcss/-/stylelint-config-tailwindcss-0.0.6.tgz",
+ "integrity": "sha512-ymqhRR0Ob7vZmMHkgkBZk2H1PO7Z+yRLxv/c3RpKavdVJNlXEdkabaDVkHaE4Zp37Y9LlpBfWYHX23Xl8HVvIw==",
+ "dev": true,
+ "requires": {}
+ },
+ "stylelint-prettier": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-2.0.0.tgz",
+ "integrity": "sha512-jvT3G+9lopkeB0ARmDPszyfaOnvnIF+30QCjZxyt7E6fynI1T9mOKgYDNb9bXX17M7PXMZaX3j/26wqakjp1tw==",
+ "dev": true,
+ "requires": {
+ "prettier-linter-helpers": "^1.0.0"
+ }
+ },
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
@@ -60921,6 +62339,106 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true
},
+ "table": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
+ "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^8.0.1",
+ "lodash.truncate": "^4.4.2",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
+ "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+ "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-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"
+ }
+ },
+ "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
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "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
+ },
+ "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"
+ }
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
"tailwind-config-viewer": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/tailwind-config-viewer/-/tailwind-config-viewer-1.6.2.tgz",
diff --git a/package.json b/package.json
index 7f026790d8..e4adef1ad3 100644
--- a/package.json
+++ b/package.json
@@ -15,7 +15,9 @@
"lint:fix": "npm run lint -- --fix",
"prettier": "prettier --check '**/*.*(md|json|yaml|html)' --loglevel warn",
"prettier:fix": "npm run prettier -- --write",
- "prepare": "node ./prepare.js && husky install",
+ "prepare": "node ./prepare.js",
+ "stylelint": "stylelint '**/*.{vue,css}'",
+ "stylelint:fix": "npm run stylelint -- --fix",
"tailwind:build": "tailwind-config-viewer export ./tailwind-static",
"tailwind:view": "tailwind-config-viewer -o",
"generate:tokenlists": "ts-node -O '{\"module\": \"commonjs\"}' ./src/lib/scripts/tokenlists.generator.ts",
@@ -101,6 +103,12 @@
"postcss": "^8.2.13",
"prettier": "^2.7.1",
"promise-worker": "^2.0.1",
+ "stylelint": "^14.9.1",
+ "stylelint-config-prettier": "^9.0.3",
+ "stylelint-config-recommended-vue": "^1.4.0",
+ "stylelint-config-standard": "^26.0.0",
+ "stylelint-config-tailwindcss": "^0.0.6",
+ "stylelint-prettier": "^2.0.0",
"tailwind-config-viewer": "^1.5.0",
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.2.17",
"ts-jest": "^27.1.3",
@@ -125,7 +133,8 @@
},
"lint-staged": {
"*.{js,ts,vue}": "eslint --cache --fix --max-warnings 0",
- "*.{md,json,yaml,html}": "prettier --write"
+ "*.{md,json,yaml,html}": "prettier --write",
+ "*.{css,vue}": "stylelint --fix"
},
"license": "MIT",
"repository": "balancer-labs/frontend-v2"
diff --git a/src/assets/css/animations/fireworks.css b/src/assets/css/animations/fireworks.css
index 8009709eb7..c29596a8ab 100644
--- a/src/assets/css/animations/fireworks.css
+++ b/src/assets/css/animations/fireworks.css
@@ -4,32 +4,27 @@
width: 5px;
height: 5px;
border-radius: 50%;
- box-shadow: -120px -218.66667px blue, 248px -16.66667px #00ff84,
- 190px 16.33333px #002bff, -113px -308.66667px #ff009d,
- -109px -287.66667px #ffb300, -50px -313.66667px #ff006e,
- 226px -31.66667px #ff4000, 180px -351.66667px #ff00d0,
- -12px -338.66667px #00f6ff, 220px -388.66667px #99ff00,
- -69px -27.66667px #ff0400, -111px -339.66667px #6200ff,
- 155px -237.66667px #00ddff, -152px -380.66667px #00ffd0,
- -50px -37.66667px #00ffdd, -95px -175.66667px #a6ff00,
- -88px 10.33333px #0d00ff, 112px -309.66667px #005eff,
- 69px -415.66667px #ff00a6, 168px -100.66667px #ff004c,
- -244px 24.33333px #ff6600, 97px -325.66667px #ff0066,
- -211px -182.66667px #00ffa2, 236px -126.66667px #b700ff,
- 140px -196.66667px #9000ff, 125px -175.66667px #00bbff,
- 118px -381.66667px #ff002f, 144px -111.66667px #ffae00,
- 36px -78.66667px #f600ff, -63px -196.66667px #c800ff,
- -218px -227.66667px #d4ff00, -134px -377.66667px #ea00ff,
- -36px -412.66667px #ff00d4, 209px -106.66667px #00fff2,
- 91px -278.66667px #000dff, -22px -191.66667px #9dff00,
- 139px -392.66667px #a6ff00, 56px -2.66667px #0099ff,
- -156px -276.66667px #ea00ff, -163px -233.66667px #00fffb,
- -238px -346.66667px #00ff73, 62px -363.66667px #0088ff,
- 244px -170.66667px #0062ff, 224px -142.66667px #b300ff,
- 141px -208.66667px #9000ff, 211px -285.66667px #ff6600,
- 181px -128.66667px #1e00ff, 90px -123.66667px #c800ff,
- 189px 70.33333px #00ffc8, -18px -383.66667px #00ff33,
- 100px -6.66667px #ff008c;
+ box-shadow: -120px -218.6667px blue, 248px -16.6667px #00ff84,
+ 190px 16.3333px #002bff, -113px -308.6667px #ff009d,
+ -109px -287.6667px #ffb300, -50px -313.6667px #ff006e,
+ 226px -31.6667px #ff4000, 180px -351.6667px #ff00d0,
+ -12px -338.6667px #00f6ff, 220px -388.6667px #9f0, -69px -27.6667px #ff0400,
+ -111px -339.6667px #6200ff, 155px -237.6667px #0df,
+ -152px -380.6667px #00ffd0, -50px -37.6667px #0fd, -95px -175.6667px #a6ff00,
+ -88px 10.3333px #0d00ff, 112px -309.6667px #005eff, 69px -415.6667px #ff00a6,
+ 168px -100.6667px #ff004c, -244px 24.3333px #f60, 97px -325.6667px #f06,
+ -211px -182.6667px #00ffa2, 236px -126.6667px #b700ff,
+ 140px -196.6667px #9000ff, 125px -175.6667px #0bf, 118px -381.6667px #ff002f,
+ 144px -111.6667px #ffae00, 36px -78.6667px #f600ff,
+ -63px -196.6667px #c800ff, -218px -227.6667px #d4ff00,
+ -134px -377.6667px #ea00ff, -36px -412.6667px #ff00d4,
+ 209px -106.6667px #00fff2, 91px -278.6667px #000dff,
+ -22px -191.6667px #9dff00, 139px -392.6667px #a6ff00, 56px -2.6667px #09f,
+ -156px -276.6667px #ea00ff, -163px -233.6667px #00fffb,
+ -238px -346.6667px #00ff73, 62px -363.6667px #08f, 244px -170.6667px #0062ff,
+ 224px -142.6667px #b300ff, 141px -208.6667px #9000ff, 211px -285.6667px #f60,
+ 181px -128.6667px #1e00ff, 90px -123.6667px #c800ff, 189px 70.3333px #00ffc8,
+ -18px -383.6667px #0f3, 100px -6.6667px #ff008c;
animation: 1s bang ease-out infinite backwards,
1s gravity ease-in infinite backwards, 5s position linear infinite backwards;
}
@@ -39,58 +34,6 @@
animation-duration: 1.25s, 1.25s, 6.25s;
}
-@-webkit-keyframes bang {
- from {
- box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white;
- }
-}
-@-moz-keyframes bang {
- from {
- box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white;
- }
-}
-@-o-keyframes bang {
- from {
- box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white;
- }
-}
-@-ms-keyframes bang {
- from {
- box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
- 0 0 white, 0 0 white, 0 0 white;
- }
-}
@keyframes bang {
from {
box-shadow: 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white, 0 0 white,
@@ -104,160 +47,14 @@
0 0 white, 0 0 white, 0 0 white;
}
}
-@-webkit-keyframes gravity {
- to {
- transform: translateY(200px);
- opacity: 0;
- }
-}
-@-moz-keyframes gravity {
- to {
- transform: translateY(200px);
- opacity: 0;
- }
-}
-@-o-keyframes gravity {
- to {
- transform: translateY(200px);
- opacity: 0;
- }
-}
-@-ms-keyframes gravity {
- to {
- transform: translateY(200px);
- opacity: 0;
- }
-}
+
@keyframes gravity {
to {
transform: translateY(200px);
opacity: 0;
}
}
-@-webkit-keyframes position {
- 0%,
- 19.9% {
- margin-top: 10%;
- margin-left: 40%;
- }
-
- 20%,
- 39.9% {
- margin-top: 40%;
- margin-left: 30%;
- }
-
- 40%,
- 59.9% {
- margin-top: 20%;
- margin-left: 70%;
- }
-
- 60%,
- 79.9% {
- margin-top: 30%;
- margin-left: 20%;
- }
-
- 80%,
- 99.9% {
- margin-top: 30%;
- margin-left: 80%;
- }
-}
-@-moz-keyframes position {
- 0%,
- 19.9% {
- margin-top: 10%;
- margin-left: 40%;
- }
-
- 20%,
- 39.9% {
- margin-top: 40%;
- margin-left: 30%;
- }
-
- 40%,
- 59.9% {
- margin-top: 20%;
- margin-left: 70%;
- }
-
- 60%,
- 79.9% {
- margin-top: 30%;
- margin-left: 20%;
- }
-
- 80%,
- 99.9% {
- margin-top: 30%;
- margin-left: 80%;
- }
-}
-@-o-keyframes position {
- 0%,
- 19.9% {
- margin-top: 10%;
- margin-left: 40%;
- }
-
- 20%,
- 39.9% {
- margin-top: 40%;
- margin-left: 30%;
- }
-
- 40%,
- 59.9% {
- margin-top: 20%;
- margin-left: 70%;
- }
-
- 60%,
- 79.9% {
- margin-top: 30%;
- margin-left: 20%;
- }
-
- 80%,
- 99.9% {
- margin-top: 30%;
- margin-left: 80%;
- }
-}
-@-ms-keyframes position {
- 0%,
- 19.9% {
- margin-top: 10%;
- margin-left: 40%;
- }
- 20%,
- 39.9% {
- margin-top: 40%;
- margin-left: 30%;
- }
-
- 40%,
- 59.9% {
- margin-top: 20%;
- margin-left: 70%;
- }
-
- 60%,
- 79.9% {
- margin-top: 30%;
- margin-left: 20%;
- }
-
- 80%,
- 99.9% {
- margin-top: 30%;
- margin-left: 80%;
- }
-}
@keyframes position {
0%,
19.9% {
diff --git a/src/assets/css/global/all.css b/src/assets/css/global/all.css
index 2b7732dc36..bbf4b51dea 100644
--- a/src/assets/css/global/all.css
+++ b/src/assets/css/global/all.css
@@ -8,6 +8,7 @@
html,
body {
@apply font-body;
+
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
@@ -41,16 +42,18 @@ a {
/* Hide number input spin/arrows */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
- -webkit-appearance: none;
+ appearance: none;
margin: 0;
}
+
input[type='number'] {
- -moz-appearance: textfield; /* Firefox */
+ appearance: textfield; /* Firefox */
}
*::-webkit-scrollbar {
@apply bg-gray-50 dark:bg-gray-900;
}
+
*::-webkit-scrollbar-thumb {
@apply bg-gray-200 dark:bg-gray-700;
}
diff --git a/src/assets/css/global/animations.css b/src/assets/css/global/animations.css
index 021e36b4ce..5d88cbca40 100644
--- a/src/assets/css/global/animations.css
+++ b/src/assets/css/global/animations.css
@@ -16,6 +16,7 @@
0% {
opacity: 0;
}
+
100% {
opacity: 1;
}
@@ -38,9 +39,10 @@
opacity: 0;
transform: translateY(5px);
}
+
100% {
opacity: 1;
- transform: translateY(0px);
+ transform: translateY(0);
}
}
@@ -49,9 +51,10 @@
opacity: 0;
transform: translateY(-5px);
}
+
100% {
opacity: 1;
- transform: translateY(0px);
+ transform: translateY(0);
}
}
@@ -60,6 +63,7 @@
transform: rotate(0deg);
opacity: 0;
}
+
to {
transform: rotate(-90deg);
opacity: 1;
@@ -71,9 +75,10 @@
opacity: 0;
transform: scale(0.96) translateY(-10px);
}
+
100% {
opacity: 1;
- transform: scale(1) translateY(0px);
+ transform: scale(1) translateY(0);
}
}
diff --git a/src/assets/css/global/fonts.css b/src/assets/css/global/fonts.css
index 1d84b461a0..9cb7b91233 100644
--- a/src/assets/css/global/fonts.css
+++ b/src/assets/css/global/fonts.css
@@ -1,5 +1,5 @@
@font-face {
- font-family: 'Inter-Variable';
+ font-family: Inter-Variable;
src: url('../../fonts/Inter-Variable.ttf') format('truetype');
font-weight: 400;
font-style: normal;
diff --git a/src/assets/css/global/social-icons.css b/src/assets/css/global/social-icons.css
index 206ef38d3b..f2c30a09fd 100644
--- a/src/assets/css/global/social-icons.css
+++ b/src/assets/css/global/social-icons.css
@@ -1,22 +1,29 @@
+.social-icon .logo {
+ fill: #fff;
+
+ @apply transition-all;
+}
+
+.dark .social-icon .logo {
+ fill: #0f172a; /* gray-900 */
+}
+
.social-icon:hover .logo {
fill: #fff; /* gray-900 */
transform-origin: center;
transform: scale(1.05);
}
+
.social-icon .bg {
fill: #0f172a; /* gray-900 */
+
@apply transition-all;
}
-.social-icon .logo {
- fill: #fff;
- @apply transition-all;
-}
+
.dark .social-icon:hover .logo {
fill: #fff;
}
+
.dark .social-icon .bg {
fill: #fff;
}
-.dark .social-icon .logo {
- fill: #0f172a; /* gray-900 */
-}
diff --git a/src/assets/css/global/typography.css b/src/assets/css/global/typography.css
index 60a42c561f..0003be9029 100644
--- a/src/assets/css/global/typography.css
+++ b/src/assets/css/global/typography.css
@@ -2,9 +2,11 @@ h1,
h2 {
font-variation-settings: 'wght' 700;
}
+
h1 {
@apply text-4xl;
}
+
h2 {
@apply text-3xl tracking-tight;
}
@@ -15,19 +17,26 @@ h5,
h6 {
@apply font-body;
}
+
h3 {
@apply text-2xl tracking-tight;
+
font-variation-settings: 'wght' 600;
}
+
h4 {
@apply text-xl tracking-tight;
+
font-variation-settings: 'wght' 600;
}
+
h5 {
@apply text-lg;
+
font-weight: unset;
font-variation-settings: 'wght' 600;
}
+
h6 {
font-variation-settings: 'wght' 600;
}
diff --git a/src/assets/css/tailwind.css b/src/assets/css/tailwind.css
index 20f6149b9c..5193931e3a 100644
--- a/src/assets/css/tailwind.css
+++ b/src/assets/css/tailwind.css
@@ -6,6 +6,7 @@
.text-primary {
@apply text-gray-900 dark:text-gray-100;
}
+
.text-secondary {
@apply text-gray-600 dark:text-gray-400;
}
@@ -22,64 +23,81 @@
.font-black {
font-weight: unset;
}
+
th {
font-variation-settings: 'wght' 600;
}
+
.font-thin {
font-variation-settings: 'wght' 100;
}
+
.font-extralight {
font-variation-settings: 'wght' 200;
}
+
.font-light {
font-variation-settings: 'wght' 300;
}
+
.font-normal {
font-variation-settings: 'wght' 400;
}
+
.font-medium {
font-variation-settings: 'wght' 500;
}
+
.font-semibold {
font-variation-settings: 'wght' 600;
}
+
.font-bold {
font-variation-settings: 'wght' 700;
}
+
.font-extrabold {
font-variation-settings: 'wght' 800;
}
+
.font-black {
font-variation-settings: 'wght' 900;
}
+
.font-numeric {
font-feature-settings: 'tnum';
letter-spacing: -0.5px;
}
+
.eth-address {
font-variant-ligatures: no-contextual;
}
+
.text-gradient {
@apply bg-blue-500;
+
background-image: linear-gradient(
45deg,
theme('colors.blue.700'),
theme('colors.pink.500')
);
background-size: 100%;
- -webkit-background-clip: text;
- -moz-background-clip: text;
+ background-clip: text;
-webkit-text-fill-color: transparent;
-moz-text-fill-color: transparent;
}
+
.link {
- @apply text-blue-600 hover:text-purple-600 focus:text-purple-600 dark:text-blue-400 dark:hover:text-yellow-500 dark:focus:text-yellow-500 hover:underline focus:underline transition-all;
+ @apply text-blue-600 hover:text-purple-600 focus:text-purple-600 dark:text-blue-400 dark:hover:text-yellow-500
+ dark:focus:text-yellow-500 hover:underline focus:underline transition-all;
}
.link-black {
- @apply text-gray-900 hover:text-purple-600 focus:text-purple-600 dark:text-gray-100 dark:hover:text-yellow-500 dark:focus:text-yellow-500 hover:underline focus:underline transition-all;
+ @apply text-gray-900 hover:text-purple-600 focus:text-purple-600 dark:text-gray-100 dark:hover:text-yellow-500
+ dark:focus:text-yellow-500 hover:underline focus:underline transition-all;
}
+
.text-shadow {
- text-shadow: 0px 1px 0px rgb(0 0 0 / 10%), 4px 4px 8px rgb(0 0 0 / 15%);
+ text-shadow: 0 1px 0 rgb(0 0 0 / 10%), 4px 4px 8px rgb(0 0 0 / 15%);
}
}
diff --git a/src/components/_global/BalAlert/BalAlert.vue b/src/components/_global/BalAlert/BalAlert.vue
index ab1c6bd18c..a43a4fe607 100644
--- a/src/components/_global/BalAlert/BalAlert.vue
+++ b/src/components/_global/BalAlert/BalAlert.vue
@@ -205,6 +205,7 @@ export default defineComponent({
.bal-alert-content {
@apply flex;
+
min-width: 0;
}
diff --git a/src/components/_global/BalAsset/BalAsset.vue b/src/components/_global/BalAsset/BalAsset.vue
index abdc6d22f6..de782adee9 100644
--- a/src/components/_global/BalAsset/BalAsset.vue
+++ b/src/components/_global/BalAsset/BalAsset.vue
@@ -95,6 +95,7 @@ button.bal-asset {
button.bal-asset:hover,
button.bal-asset:focus {
@apply scale-110 transform-gpu;
- box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);
+
+ box-shadow: 0 4px 8px rgb(0 0 0 / 15%);
}
diff --git a/src/components/_global/BalAsset/BalAssetSet.vue b/src/components/_global/BalAsset/BalAssetSet.vue
index fdbf887e9f..50707b9e5f 100644
--- a/src/components/_global/BalAsset/BalAssetSet.vue
+++ b/src/components/_global/BalAsset/BalAssetSet.vue
@@ -155,8 +155,21 @@ export default defineComponent({
@apply relative flex;
}
+.token-icon {
+ margin-left: -2px;
+
+ @apply rounded-full overflow-hidden shadow-none;
+ @apply bg-white dark:bg-gray-850;
+ @apply border-2 border-white dark:border-gray-850 group-hover:border-gray-50 dark:group-hover:border-gray-800;
+}
+
+.my-wallet .token-icon {
+ @apply ml-0;
+}
+
.my-wallet .addresses-row {
@apply flex-wrap gap-2;
+
width: auto !important;
height: auto !important;
}
@@ -176,15 +189,4 @@ export default defineComponent({
width: 24px !important;
height: 24px !important;
}
-
-.token-icon {
- margin-left: -2px;
- @apply rounded-full overflow-hidden shadow-none;
- @apply bg-white dark:bg-gray-850;
- @apply border-2 border-white dark:border-gray-850 group-hover:border-gray-50 dark:group-hover:border-gray-800;
-}
-
-.my-wallet .token-icon {
- @apply ml-0;
-}
diff --git a/src/components/_global/BalBlankSlate/BalBlankSlate.vue b/src/components/_global/BalBlankSlate/BalBlankSlate.vue
index 2656516996..d2ae865bdc 100644
--- a/src/components/_global/BalBlankSlate/BalBlankSlate.vue
+++ b/src/components/_global/BalBlankSlate/BalBlankSlate.vue
@@ -15,6 +15,7 @@ export default defineComponent({
diff --git a/src/components/_global/BalBtn/BalBtn.vue b/src/components/_global/BalBtn/BalBtn.vue
index 1d1bd95193..e9bfeeca7a 100644
--- a/src/components/_global/BalBtn/BalBtn.vue
+++ b/src/components/_global/BalBtn/BalBtn.vue
@@ -229,6 +229,7 @@ export default defineComponent({
diff --git a/src/components/_global/BalModal/BalModal.vue b/src/components/_global/BalModal/BalModal.vue
index ec78567f44..9d5c15943e 100644
--- a/src/components/_global/BalModal/BalModal.vue
+++ b/src/components/_global/BalModal/BalModal.vue
@@ -104,6 +104,7 @@ defineExpose({ hide });
.content {
@apply relative w-full h-3/4 sm:h-auto max-h-screen;
+
max-width: 450px;
transform-style: preserve-3d;
}
@@ -116,7 +117,7 @@ defineExpose({ hide });
@apply mx-auto h-full rounded-b-none sm:rounded-b-lg dark:border-0;
}
-.dark .bal-modal .content:before {
+.dark .bal-modal .content::before {
background-blend-mode: soft-light, soft-light, normal;
background: radial-gradient(circle at left, yellow, transparent),
radial-gradient(circle at bottom right, blue, transparent),
@@ -152,6 +153,7 @@ defineExpose({ hide });
.modal-leave-active {
transition: all 0.2s ease-out;
}
+
.modal-enter-from,
.modal-leave-to {
transform: translateY(10px);
diff --git a/src/components/_global/BalPopover/BalPopover.vue b/src/components/_global/BalPopover/BalPopover.vue
index aca3d5ceab..2aba76c0b7 100644
--- a/src/components/_global/BalPopover/BalPopover.vue
+++ b/src/components/_global/BalPopover/BalPopover.vue
@@ -104,6 +104,7 @@ watch(popoverOpened, () => {
diff --git a/src/components/_global/BalRadio/BalRadio.vue b/src/components/_global/BalRadio/BalRadio.vue
index eb6eb8f14f..038350d7e4 100644
--- a/src/components/_global/BalRadio/BalRadio.vue
+++ b/src/components/_global/BalRadio/BalRadio.vue
@@ -113,25 +113,21 @@ export default defineComponent({
.bal-radio-input {
@apply bg-white dark:bg-gray-900 rounded-full m-0;
@apply border border-gray-300 dark:border-gray-900;
+
transition: all ease 0.25s;
- -webkit-appearance: none;
- -moz-appearance: none;
appearance: none;
-webkit-print-color-adjust: exact;
color-adjust: exact;
display: inline-block;
vertical-align: middle;
background-origin: border-box;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.bal-radio-input:checked {
background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
border-color: transparent;
- background-color: currentColor;
+ background-color: currentcolor;
background-size: 100% 100%;
background-position: center;
background-repeat: no-repeat;
diff --git a/src/components/_global/BalRangeInput/BalRangeInput.vue b/src/components/_global/BalRangeInput/BalRangeInput.vue
index 8b0b52451b..3e450f02ea 100644
--- a/src/components/_global/BalRangeInput/BalRangeInput.vue
+++ b/src/components/_global/BalRangeInput/BalRangeInput.vue
@@ -106,6 +106,6 @@ export default defineComponent({
diff --git a/src/components/_global/BalSelectInput/BalSelectInput.vue b/src/components/_global/BalSelectInput/BalSelectInput.vue
index 71aafd0061..3dba1ada7a 100644
--- a/src/components/_global/BalSelectInput/BalSelectInput.vue
+++ b/src/components/_global/BalSelectInput/BalSelectInput.vue
@@ -165,7 +165,8 @@ export default defineComponent({
diff --git a/src/components/cards/PairPriceGraph/PairPriceGraph.vue b/src/components/cards/PairPriceGraph/PairPriceGraph.vue
index 98c0dfec8d..512a7715d9 100644
--- a/src/components/cards/PairPriceGraph/PairPriceGraph.vue
+++ b/src/components/cards/PairPriceGraph/PairPriceGraph.vue
@@ -392,6 +392,7 @@ const chartGrid = computed(() => {
diff --git a/src/components/cards/TrendingPairs/TrendingPairs.vue b/src/components/cards/TrendingPairs/TrendingPairs.vue
index d6291b9aa9..02acc38066 100644
--- a/src/components/cards/TrendingPairs/TrendingPairs.vue
+++ b/src/components/cards/TrendingPairs/TrendingPairs.vue
@@ -97,6 +97,7 @@ const setTradePair = (pair: TrendingPair[]) => {
diff --git a/src/components/contextual/pages/claim/HeroClaim.vue b/src/components/contextual/pages/claim/HeroClaim.vue
index dd81d73d23..d770f46b75 100644
--- a/src/components/contextual/pages/claim/HeroClaim.vue
+++ b/src/components/contextual/pages/claim/HeroClaim.vue
@@ -106,7 +106,9 @@
diff --git a/src/components/footer/Footer.vue b/src/components/footer/Footer.vue
index b0a6c26ac5..2f9c772d16 100644
--- a/src/components/footer/Footer.vue
+++ b/src/components/footer/Footer.vue
@@ -259,6 +259,7 @@ footer {
footer :deep(.logotype) {
@apply origin-top-left;
+
transform: scale(1.5);
}
diff --git a/src/components/forms/pool_actions/InvestForm/components/InvestPreviewModal/components/InvestSummary.vue b/src/components/forms/pool_actions/InvestForm/components/InvestPreviewModal/components/InvestSummary.vue
index 4b279a30a9..efe5c3706d 100644
--- a/src/components/forms/pool_actions/InvestForm/components/InvestPreviewModal/components/InvestSummary.vue
+++ b/src/components/forms/pool_actions/InvestForm/components/InvestPreviewModal/components/InvestSummary.vue
@@ -84,12 +84,15 @@ const { currency } = useUserSettings();
.summary-table {
@apply border dark:border-gray-700 divide-y dark:divide-gray-700 rounded-lg mt-4;
}
+
.summary-table-row {
@apply grid grid-cols-2 px-2 py-1;
}
+
.summary-table-label {
@apply flex items-center;
}
+
.summary-table-number {
@apply flex items-center justify-end;
}
diff --git a/src/components/forms/pool_actions/WithdrawForm/components/WithdrawalTokenSelect.vue b/src/components/forms/pool_actions/WithdrawForm/components/WithdrawalTokenSelect.vue
index 9e1ce63bf7..68fec6a6d5 100644
--- a/src/components/forms/pool_actions/WithdrawForm/components/WithdrawalTokenSelect.vue
+++ b/src/components/forms/pool_actions/WithdrawForm/components/WithdrawalTokenSelect.vue
@@ -133,6 +133,7 @@ function handleSelected(newToken: string): void {
.token-select-input {
@apply shadow rounded-lg flex items-center h-10 px-2 whitespace-nowrap;
@apply text-sm;
+
font-variation-settings: 'wght' 700;
}
diff --git a/src/components/heros/AppHero.vue b/src/components/heros/AppHero.vue
index 8367455f20..f937ab0518 100644
--- a/src/components/heros/AppHero.vue
+++ b/src/components/heros/AppHero.vue
@@ -9,6 +9,7 @@
diff --git a/src/components/icons/IconTwitter.vue b/src/components/icons/IconTwitter.vue
index 766a513319..ffbf8742a5 100644
--- a/src/components/icons/IconTwitter.vue
+++ b/src/components/icons/IconTwitter.vue
@@ -30,6 +30,6 @@ export default {};
diff --git a/src/components/images/AppLogo.vue b/src/components/images/AppLogo.vue
index 64aa030b95..ffdff5a4d3 100644
--- a/src/components/images/AppLogo.vue
+++ b/src/components/images/AppLogo.vue
@@ -61,6 +61,7 @@ const fillColor = computed(() => {
diff --git a/src/components/inputs/TokenSelectInput/TokenSelectInput.vue b/src/components/inputs/TokenSelectInput/TokenSelectInput.vue
index 8fb1de69d1..c481e19a13 100644
--- a/src/components/inputs/TokenSelectInput/TokenSelectInput.vue
+++ b/src/components/inputs/TokenSelectInput/TokenSelectInput.vue
@@ -167,6 +167,7 @@ function toggleModal(): void {
.token-select-input {
@apply shadow rounded-lg flex items-center h-10 px-2 whitespace-nowrap;
@apply text-sm;
+
font-variation-settings: 'wght' 700;
}
diff --git a/src/components/modals/TradePreviewModal.vue b/src/components/modals/TradePreviewModal.vue
index ec12bff5f3..4dcf2019e6 100644
--- a/src/components/modals/TradePreviewModal.vue
+++ b/src/components/modals/TradePreviewModal.vue
@@ -296,6 +296,7 @@ export default defineComponent({
.card-container {
@apply p-3 flex items-center border rounded-lg dark:border-gray-800;
}
+
.card-step {
@apply w-9 h-9 flex items-center justify-center border rounded-full dark:border-gray-700;
}
diff --git a/src/components/modals/TradePreviewModalGP.vue b/src/components/modals/TradePreviewModalGP.vue
index 467abdae1e..79e8e3a290 100644
--- a/src/components/modals/TradePreviewModalGP.vue
+++ b/src/components/modals/TradePreviewModalGP.vue
@@ -880,7 +880,9 @@ export default defineComponent({
diff --git a/src/components/navs/AppNav/AppNavActivityBtn/ActivityRows.vue b/src/components/navs/AppNav/AppNavActivityBtn/ActivityRows.vue
index 8f8d52323b..aab035c287 100644
--- a/src/components/navs/AppNav/AppNavActivityBtn/ActivityRows.vue
+++ b/src/components/navs/AppNav/AppNavActivityBtn/ActivityRows.vue
@@ -129,18 +129,23 @@ export default defineComponent({
.row {
@apply flex justify-between items-center;
}
+
.row:last-child {
@apply mb-0;
}
+
.summary {
@apply overflow-hidden;
+
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
+
.failed-reason-tooltip {
@apply lowercase;
}
+
.failed-reason-tooltip::first-letter {
@apply uppercase;
}
diff --git a/src/components/navs/AppNav/AppNavAlert.vue b/src/components/navs/AppNav/AppNavAlert.vue
index ab00e68b65..f1960ea963 100644
--- a/src/components/navs/AppNav/AppNavAlert.vue
+++ b/src/components/navs/AppNav/AppNavAlert.vue
@@ -87,8 +87,10 @@ export default defineComponent({
diff --git a/src/components/navs/AppNav/AppSidebar/SidebarContent.vue b/src/components/navs/AppNav/AppSidebar/SidebarContent.vue
index 404344e4f8..372e844f06 100644
--- a/src/components/navs/AppNav/AppSidebar/SidebarContent.vue
+++ b/src/components/navs/AppNav/AppSidebar/SidebarContent.vue
@@ -175,20 +175,22 @@ watch(blockNumber, async () => {
}
.social-link {
- @apply w-11 h-11 xs:w-12 xs:h-12 rounded-full bg-gray-850 hover:bg-gray-800 flex items-center justify-center text-white cursor-pointer;
+ @apply w-11 h-11 xs:w-12 xs:h-12 rounded-full bg-gray-850 hover:bg-gray-800 flex items-center justify-center
+ text-white cursor-pointer;
}
.social-link > svg {
@apply w-6 h-6;
+
fill: white;
}
.block-icon {
- box-shadow: 0px 0px 3px 2px theme('colors.green.500');
+ box-shadow: 0 0 3px 2px theme('colors.green.500');
transition: box-shadow 0.3s ease-in-out;
}
.block-change {
- box-shadow: 0px 0px 6px 4px theme('colors.green.500');
+ box-shadow: 0 0 6px 4px theme('colors.green.500');
}
diff --git a/src/components/navs/AppNav/DesktopLinks/DesktopLinkItem.vue b/src/components/navs/AppNav/DesktopLinks/DesktopLinkItem.vue
index c85ceda62f..161993c266 100644
--- a/src/components/navs/AppNav/DesktopLinks/DesktopLinkItem.vue
+++ b/src/components/navs/AppNav/DesktopLinks/DesktopLinkItem.vue
@@ -24,33 +24,43 @@ const classes = computed(() => ({
diff --git a/src/components/notifications/Notification.vue b/src/components/notifications/Notification.vue
index c987460fa4..9a8682ec7a 100644
--- a/src/components/notifications/Notification.vue
+++ b/src/components/notifications/Notification.vue
@@ -129,11 +129,14 @@ export default defineComponent({
.title {
@apply lowercase;
}
+
.title::first-letter {
@apply uppercase;
}
+
.message {
@apply overflow-hidden;
+
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
diff --git a/src/components/notifications/Notifications.vue b/src/components/notifications/Notifications.vue
index 879f054814..ca83b42f1f 100644
--- a/src/components/notifications/Notifications.vue
+++ b/src/components/notifications/Notifications.vue
@@ -42,10 +42,12 @@ export default defineComponent({
opacity: 0;
transform: translateX(-300px);
}
+
.slide-enter-active,
.slide-leave-active {
transition: all 1s cubic-bezier(0.5, 0, 0.54, 1.42);
}
+
.slide-move {
transition: all 0.3s ease;
}
diff --git a/src/components/pool/PoolChartPeriodSelect.vue b/src/components/pool/PoolChartPeriodSelect.vue
index 1896729874..6f9d137fd4 100644
--- a/src/components/pool/PoolChartPeriodSelect.vue
+++ b/src/components/pool/PoolChartPeriodSelect.vue
@@ -60,19 +60,21 @@ defineProps();
diff --git a/src/components/tables/PoolsTable/TokenPills/HiddenTokensPills.vue b/src/components/tables/PoolsTable/TokenPills/HiddenTokensPills.vue
index f0b21b4356..43669341ef 100644
--- a/src/components/tables/PoolsTable/TokenPills/HiddenTokensPills.vue
+++ b/src/components/tables/PoolsTable/TokenPills/HiddenTokensPills.vue
@@ -55,7 +55,8 @@ withDefaults(defineProps(), {
@apply bg-gray-50 dark:bg-gray-600 text-gray-600 dark:text-gray-400;
@apply text-sm;
@apply flex items-center;
- box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.07);
+
+ box-shadow: 2px 2px 4px rgb(0 0 0 / 7%);
}
.pill-selected {
@@ -66,7 +67,8 @@ withDefaults(defineProps(), {
.pill-stacked {
@apply h-full w-full;
@apply absolute top-0 left-0;
- box-shadow: 2px 0px 4px rgba(0, 0, 0, 0.07);
+
+ box-shadow: 2px 0 4px rgb(0 0 0 / 7%);
}
.balance-indicator {
diff --git a/src/components/tables/PoolsTable/TokenPills/StableTokenPill.vue b/src/components/tables/PoolsTable/TokenPills/StableTokenPill.vue
index fed2dad1e0..bd4b6487c8 100644
--- a/src/components/tables/PoolsTable/TokenPills/StableTokenPill.vue
+++ b/src/components/tables/PoolsTable/TokenPills/StableTokenPill.vue
@@ -62,24 +62,26 @@ withDefaults(defineProps(), {
@apply w-full h-full;
@apply absolute;
@apply bg-gray-100 dark:bg-gray-700;
+
content: '';
transform: skew(-12deg);
}
.pill:first-child::before {
- border-radius: 4px 0px 0px 4px;
+ border-radius: 4px 0 0 4px;
}
.pill:last-child::before {
- border-radius: 0px 4px 4px 0px;
+ border-radius: 0 4px 4px 0;
}
.pill:only-child::before {
- border-radius: 4px 4px 4px 4px;
+ border-radius: 4px;
}
.pill-text {
@apply px-2 py-1;
+
z-index: 1;
}
@@ -89,7 +91,8 @@ withDefaults(defineProps(), {
.balance-indicator {
@apply w-3 h-3;
- @apply rounded-full border-2 border-white dark:border-gray-850 group-hover:border-gray-50 dark:group-hover:border-gray-800;
+ @apply rounded-full border-2 border-white dark:border-gray-850 group-hover:border-gray-50
+ dark:group-hover:border-gray-800;
@apply bg-green-200 dark:bg-green-500;
@apply absolute top-0 right-0 -mt-1 -mr-2;
}
diff --git a/src/components/tables/PoolsTable/TokenPills/WeightedTokenPill.vue b/src/components/tables/PoolsTable/TokenPills/WeightedTokenPill.vue
index 304a3cdf11..3901fe0b06 100644
--- a/src/components/tables/PoolsTable/TokenPills/WeightedTokenPill.vue
+++ b/src/components/tables/PoolsTable/TokenPills/WeightedTokenPill.vue
@@ -69,7 +69,8 @@ withDefaults(defineProps(), {
.balance-indicator {
@apply w-3 h-3;
- @apply rounded-full border-2 border-white dark:border-gray-850 group-hover:border-gray-50 dark:group-hover:border-gray-800;
+ @apply rounded-full border-2 border-white dark:border-gray-850 group-hover:border-gray-50
+ dark:group-hover:border-gray-800;
@apply bg-green-400 dark:bg-green-500;
@apply absolute top-0 right-0 -mt-1 -mr-1;
}
diff --git a/src/pages/_layouts/ContentLayout.vue b/src/pages/_layouts/ContentLayout.vue
index 9254744627..036607e9d9 100644
--- a/src/pages/_layouts/ContentLayout.vue
+++ b/src/pages/_layouts/ContentLayout.vue
@@ -16,6 +16,7 @@ import AppNav from '@/components/navs/AppNav/AppNav.vue';
diff --git a/src/pages/pool/_id.vue b/src/pages/pool/_id.vue
index f1709f9955..65df952351 100644
--- a/src/pages/pool/_id.vue
+++ b/src/pages/pool/_id.vue
@@ -328,6 +328,7 @@ export default defineComponent({
@apply sticky top-24;
}
}
+
.staking-incentives :deep(.active-section) {
@apply border-transparent;
}
diff --git a/stylelint.config.js b/stylelint.config.js
new file mode 100644
index 0000000000..fedce45b9e
--- /dev/null
+++ b/stylelint.config.js
@@ -0,0 +1,31 @@
+module.exports = {
+ extends: [
+ 'stylelint-config-standard',
+ 'stylelint-config-recommended-vue',
+ 'stylelint-config-tailwindcss',
+ 'stylelint-config-prettier',
+ ],
+ plugins: ['stylelint-prettier'],
+ rules: {
+ 'prettier/prettier': true,
+ 'string-quotes': 'single',
+ 'selector-class-pattern': '',
+ 'keyframes-name-pattern': '',
+
+ // Ignore "display: -webkit-box;"
+ // This line clampin technique only works with the webkit prefix.
+ // https://css-tricks.com/line-clampin/
+ 'value-no-vendor-prefix': [true, { ignoreValues: ['box'] }],
+
+ // stylelint-config-tailwindcss and stylelint-config-recommended-vue
+ // somehow conflict with each other, so we need to allow
+ // tailwind's theme, and vue's v-bind functions here.
+ // Check back later if this is a bug in stylelint-config-tailwindcss and it's fixed.
+ 'function-no-unknown': [true, { ignoreFunctions: ['v-bind', 'theme'] }],
+
+ // Allow v-bind function (a method to use component state properties inside