From 5f0cf50ccd0f418c157e1926bdd9cdc2ee451d5f Mon Sep 17 00:00:00 2001 From: ogerly Date: Sat, 5 Feb 2022 08:38:17 +0100 Subject: [PATCH 01/51] sorting meta information --- frontend/public/index.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index 4aad83f03..de67b2e7f 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -1,7 +1,7 @@ From 51deefc19be4511b533044917b2cdeeaa734c6ee Mon Sep 17 00:00:00 2001 From: ogerly Date: Sat, 5 Feb 2022 08:41:36 +0100 Subject: [PATCH 02/51] add meta description and keywords --- frontend/public/index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index de67b2e7f..537fdb3d3 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -17,10 +17,10 @@ - Gradido Account - - - + Gradido Wallet + + + From beb6239f712ef99331095d804f169a340d29b7b9 Mon Sep 17 00:00:00 2001 From: ogerly Date: Sat, 5 Feb 2022 08:42:54 +0100 Subject: [PATCH 03/51] add meta authors --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index 537fdb3d3..bc74af638 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -20,7 +20,7 @@ Gradido Wallet - + From 3d0451a3b8596a0eb991d11427b05a1312ea89e0 Mon Sep 17 00:00:00 2001 From: ogerly Date: Sat, 5 Feb 2022 08:53:24 +0100 Subject: [PATCH 04/51] localize meta data --- frontend/public/index.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index bc74af638..e4b65709d 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -18,8 +18,10 @@ Gradido Wallet - - + + + + From bf3e97f1db545595617607e24b8e6659bd73522b Mon Sep 17 00:00:00 2001 From: ogerly Date: Sat, 5 Feb 2022 09:18:16 +0100 Subject: [PATCH 05/51] meta propertys for social network posts --- frontend/public/img/gradido-wallet-650-400.jpg | Bin 0 -> 78114 bytes frontend/public/index.html | 13 +++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 frontend/public/img/gradido-wallet-650-400.jpg diff --git a/frontend/public/img/gradido-wallet-650-400.jpg b/frontend/public/img/gradido-wallet-650-400.jpg new file mode 100644 index 0000000000000000000000000000000000000000..97a86e71000ad236a43980b17d4cbaa60b093569 GIT binary patch literal 78114 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 + + @@ -31,6 +33,17 @@ + + + + + + + + + + +
From 01faed7e307e001bcb1fbb00c3a2d311f5452776 Mon Sep 17 00:00:00 2001 From: ogerly Date: Sat, 5 Feb 2022 09:21:07 +0100 Subject: [PATCH 06/51] add meta url and identifier-url --- frontend/public/index.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/public/index.html b/frontend/public/index.html index db8df0318..f3f7e840f 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -23,6 +23,8 @@ + + From 56d4caf278bbe37849d4bdeffa2156f791131be7 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Mon, 7 Feb 2022 12:27:00 +0100 Subject: [PATCH 07/51] Update frontend/public/index.html Co-authored-by: Ulf Gebhardt --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index f3f7e840f..bba525101 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -21,7 +21,7 @@ - + From b3909391affac1d7e0801689933f6725594e2e68 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Mon, 7 Feb 2022 12:27:09 +0100 Subject: [PATCH 08/51] Update frontend/public/index.html Co-authored-by: Ulf Gebhardt --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index bba525101..eb8839b5a 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -26,7 +26,7 @@ - + From 99e20fce583a2c60ed7d1072d6277422b2458b3f Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Mon, 7 Feb 2022 12:27:17 +0100 Subject: [PATCH 09/51] Update frontend/public/index.html Co-authored-by: Ulf Gebhardt --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index eb8839b5a..b37645aa3 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -20,7 +20,7 @@ Gradido Wallet - + From 4b805dafbf8ea35ab14d516aa64d9f540d97513c Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Mon, 7 Feb 2022 12:27:24 +0100 Subject: [PATCH 10/51] Update frontend/public/index.html Co-authored-by: Ulf Gebhardt --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index b37645aa3..4c7e79e8e 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -19,7 +19,7 @@ Gradido Wallet - + From 649c68c496703c2dff5cd82ffdad9a192421d023 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Mon, 7 Feb 2022 15:46:06 +0100 Subject: [PATCH 11/51] Update frontend/public/index.html Co-authored-by: Hannes Heine --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index 4c7e79e8e..adf39f6d9 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -23,7 +23,7 @@ - + From 55c49f0df19922ff9e1d145ccd7a352fd58a44ca Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:25:36 +0100 Subject: [PATCH 12/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index adf39f6d9..214d3a6d4 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -18,7 +18,7 @@ Gradido Wallet - + From 513106eeed3941820dde0a2fbec12524ca709a02 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:25:43 +0100 Subject: [PATCH 13/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index 214d3a6d4..e1caa5e24 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -21,7 +21,7 @@ - + From 7966449fee8d22c9c221ee9726e7d904e805cdc6 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:25:52 +0100 Subject: [PATCH 14/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index e1caa5e24..fcee8e191 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -42,7 +42,8 @@ - + + From c69d1cc205c1f34b9b61870fd0e986394c5aba94 Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:27:01 +0100 Subject: [PATCH 15/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index fcee8e191..ff2507cee 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -20,7 +20,7 @@ Gradido Wallet - + From 1001819e147b26c76919b923a163b5750e60a5fd Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:27:11 +0100 Subject: [PATCH 16/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index ff2507cee..62bb86992 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -41,7 +41,8 @@ - + + From 107b486050f705b81fe28e0804e5590e5c0425bc Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:27:29 +0100 Subject: [PATCH 17/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index 62bb86992..7b78bfeae 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -17,7 +17,8 @@ - Gradido Wallet + Gradido – Dein Dankbarkeitskonto + Gradido - Your gratitude account From e632ddea2dc17353f30f0ebf259dd2fd5d460b0b Mon Sep 17 00:00:00 2001 From: Alexander Friedland Date: Tue, 15 Feb 2022 09:35:59 +0100 Subject: [PATCH 18/51] Update frontend/public/index.html Co-authored-by: Moriz Wahl --- frontend/public/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/index.html b/frontend/public/index.html index 7b78bfeae..2f255a1a8 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -20,7 +20,7 @@ Gradido – Dein Dankbarkeitskonto Gradido - Your gratitude account - + From 073a42d968fc507bed85f7e805ecb892388cc3f1 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 16 Feb 2022 12:42:35 +0100 Subject: [PATCH 19/51] add vue-html-webpack-plugin package --- frontend/package.json | 1 + frontend/public/index.html | 20 +++++++++++--------- frontend/vue.config.js | 18 ++++++++++++++++++ frontend/yarn.lock | 13 +++++++++++++ 4 files changed, 43 insertions(+), 9 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 8c7577ab3..1873e8ccd 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -78,6 +78,7 @@ "node-sass": "^6.0.1", "sass-loader": "^10", "stats-webpack-plugin": "^0.7.0", + "vue-html-webpack-plugin": "^3.2.2", "vue-template-compiler": "^2.6.11", "webpack-bundle-analyzer": "^4.5.0" }, diff --git a/frontend/public/index.html b/frontend/public/index.html index 2f255a1a8..ca076c334 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -17,19 +17,21 @@ - Gradido – Dein Dankbarkeitskonto + <%= htmlWebpackPlugin.options.title %> + + + + + + + + - + diff --git a/frontend/vue.config.js b/frontend/vue.config.js index 47b016aea..14dbdd5a4 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -2,6 +2,7 @@ const path = require('path') const webpack = require('webpack') const Dotenv = require('dotenv-webpack') const StatsPlugin = require('stats-webpack-plugin') +const HtmlWebpackPlugin = require('vue-html-webpack-plugin') // vue.config.js module.exports = { @@ -38,6 +39,23 @@ module.exports = { }), // generate webpack stats to allow analysis of the bundlesize new StatsPlugin('webpack.stats.json'), + new HtmlWebpackPlugin({ + vue: true, + title: 'XGRADIDO', + template: 'public/index.html', + description_de: + 'Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle.', + description_en: + 'Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all.', + keywords_de: + 'Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem', + keywords_en: + 'Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System', + author: 'Bernd Hückstädt - Gradido-Akademie', + url: 'http://localhost', + identifier_URL: 'http://localhost', + icon: './favicon.png', + }), ], infrastructureLogging: { level: 'warn', // 'none' | 'error' | 'warn' | 'info' | 'log' | 'verbose' diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 296e0f01b..a452828a4 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -14158,6 +14158,19 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== +vue-html-webpack-plugin@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/vue-html-webpack-plugin/-/vue-html-webpack-plugin-3.2.2.tgz#df1499f05bcdf22c2e7040fa760fb0f5de66beea" + integrity sha512-C1qz9hxxrzvPSkpr59GHY8oh0U6TUuKYkhRg47pcYoq8D7JQKDGON8xsI6LYudVKGowcPj8GulfdHsp0Cc1gJA== + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + vue-i18n-extract@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz#0a136e12d1634d6799e187aad81a7003d02f67a5" From 6134d5010cd0e4d43be3ee05eda4ce717038d4ae Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 16 Feb 2022 16:59:04 +0100 Subject: [PATCH 20/51] add META* .env, add META* .env.dist, add META .env.template, refactor config/index.js and vue.config --- frontend/.env.dist | 8 +++++++ frontend/.env.template | 8 +++++++ frontend/public/index.html | 41 ++++++++++++++++++------------------ frontend/src/config/index.js | 19 +++++++++++++++++ frontend/vue.config.js | 23 +++++++++----------- 5 files changed, 65 insertions(+), 34 deletions(-) diff --git a/frontend/.env.dist b/frontend/.env.dist index f7bda826a..0de8c6252 100644 --- a/frontend/.env.dist +++ b/frontend/.env.dist @@ -1,3 +1,11 @@ +META_URL=http://localhost +META_TITLE_DE="Gradido – Dein Dankbarkeitskonto" +META_TITLE_EN="Gradido - Your gratitude account" +META_DESCRIPTION_DE="Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle." +META_DESCRIPTION_EN="Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all." +META_KEYWORDS_DE="Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem" +META_KEYWORDS_EN="Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System" +META_AUTHOR="Bernd Hückstädt - Gradido-Akademie" GRAPHQL_URI=http://localhost/graphql DEFAULT_PUBLISHER_ID=2896 ADMIN_AUTH_URL=http://localhost/admin/authenticate?token={token} \ No newline at end of file diff --git a/frontend/.env.template b/frontend/.env.template index 8c9c053cc..1eef43cef 100644 --- a/frontend/.env.template +++ b/frontend/.env.template @@ -1,3 +1,11 @@ +META_URL=$META_URL +META_TITLE_DE=$META_TITLE_DE +META_TITLE_EN=$META_TITLE_EN +META_DESCRIPTION_DE=$META_DESCRIPTION_DE +META_DESCRIPTION_EN=$META_DESCRIPTION_EN +META_KEYWORDS_DE=$META_KEYWORDS_DE +META_KEYWORDS_EN=$META_KEYWORDS_EN +META_AUTHOR=$META_AUTHOR GRAPHQL_URI=$GRAPHQL_URI DEFAULT_PUBLISHER_ID=2896 ADMIN_AUTH_URL=$ADMIN_AUTH_URL \ No newline at end of file diff --git a/frontend/public/index.html b/frontend/public/index.html index ca076c334..a15b46916 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -17,20 +17,18 @@ - <%= htmlWebpackPlugin.options.title %> - - - - - - - - + + + + + + + + + - + @@ -39,16 +37,17 @@ - - - - + + + + + - - - - - + + + + + diff --git a/frontend/src/config/index.js b/frontend/src/config/index.js index 7e213e1d9..eaa1e7f3d 100644 --- a/frontend/src/config/index.js +++ b/frontend/src/config/index.js @@ -18,6 +18,25 @@ const environment = { DEFAULT_PUBLISHER_ID: process.env.DEFAULT_PUBLISHER_ID || 2896, } +// const meta = { +// META_URL: process.env.META_URL || 'http://localhost', +// META_TITLE_DE: process.env.META_TITLE_DE || 'Gradido – Dein Dankbarkeitskonto', +// META_TITLE_EN: process.env.META_TITLE_EN || 'Gradido - Your gratitude account', +// META_DESCRIPTION_DE: +// process.env.META_DESCRIPTION_DE || +// 'Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle.', +// META_DESCRIPTION_EN: +// process.env.META_DESCRIPTION_EN || +// 'Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all.', +// META_KEYWORDS_DE: +// process.env.META_KEYWORDS_DE || +// 'Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem', +// META_KEYWORDS_EN: +// process.env.META_KEYWORDS_EN || +// 'Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System', +// META_AUTHOR: process.env.META_AUTHOR || 'Bernd Hückstädt - Gradido-Akademie', +// } + const endpoints = { GRAPHQL_URI: process.env.GRAPHQL_URI || 'http://localhost/graphql', ADMIN_AUTH_URL: process.env.ADMIN_AUTH_URL || 'http://localhost/admin/authenticate?token={token}', diff --git a/frontend/vue.config.js b/frontend/vue.config.js index 14dbdd5a4..133f90846 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -41,20 +41,17 @@ module.exports = { new StatsPlugin('webpack.stats.json'), new HtmlWebpackPlugin({ vue: true, - title: 'XGRADIDO', template: 'public/index.html', - description_de: - 'Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle.', - description_en: - 'Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all.', - keywords_de: - 'Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem', - keywords_en: - 'Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System', - author: 'Bernd Hückstädt - Gradido-Akademie', - url: 'http://localhost', - identifier_URL: 'http://localhost', - icon: './favicon.png', + meta: { + title_de: process.env.META_TITLE_DE, + title_en: process.env.META_TITLE_EN, + description_de: process.env.META_DESCRIPTION_DE, + description_en: process.env.META_DESCRIPTION_EN, + keywords_de: process.env.META_KEYWORDS_DE, + keywords_en: process.env.META_KEYWORDS_EN, + author: process.env.META_AUTHOR, + url: process.env.META_URL, + }, }), ], infrastructureLogging: { From 02abdba19deff2c52c02a7957eb8dde72f83cdb9 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 16 Feb 2022 17:00:54 +0100 Subject: [PATCH 21/51] add META deployment .env.dist --- deployment/bare_metal/.env.dist | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/deployment/bare_metal/.env.dist b/deployment/bare_metal/.env.dist index 91e37b594..9a9d57b4c 100644 --- a/deployment/bare_metal/.env.dist +++ b/deployment/bare_metal/.env.dist @@ -47,6 +47,15 @@ KLICKTIPP_APIKEY_EN= GRAPHQL_URI=https://stage1.gradido.net/graphql ADMIN_AUTH_URL=https://stage1.gradido.net/admin/authenticate?token={token} +META_URL=http://localhost +META_TITLE_DE="Gradido – Dein Dankbarkeitskonto" +META_TITLE_EN="Gradido - Your gratitude account" +META_DESCRIPTION_DE="Dankbarkeit ist die Währung der neuen Zeit. Immer mehr Menschen entfalten ihr Potenzial und gestalten eine gute Zukunft für alle." +META_DESCRIPTION_EN="Gratitude is the currency of the new age. More and more people are unleashing their potential and shaping a good future for all." +META_KEYWORDS_DE="Grundeinkommen, Währung, Dankbarkeit, Schenk-Ökonomie, Natürliche Ökonomie des Lebens, Ökonomie, Ökologie, Potenzialentfaltung, Schenken und Danken, Kreislauf des Lebens, Geldsystem" +META_KEYWORDS_EN="Basic Income, Currency, Gratitude, Gift Economy, Natural Economy of Life, Economy, Ecology, Potential Development, Giving and Thanking, Cycle of Life, Monetary System" +META_AUTHOR="Bernd Hückstädt - Gradido-Akademie" + # admin WALLET_AUTH_URL=https://stage1.gradido.net/authenticate?token={token} WALLET_URL=https://stage1.gradido.net/login \ No newline at end of file From b2ee61d78899d49f35c505109813f9b620dfd523 Mon Sep 17 00:00:00 2001 From: ogerly Date: Wed, 16 Feb 2022 18:19:04 +0100 Subject: [PATCH 22/51] change preview picture seo --- .../public/img/gradido-wallet-650-400.jpg | Bin 78114 -> 72745 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/frontend/public/img/gradido-wallet-650-400.jpg b/frontend/public/img/gradido-wallet-650-400.jpg index 97a86e71000ad236a43980b17d4cbaa60b093569..b851460a253b592159584e2b5ccbe68a0a758260 100644 GIT binary patch delta 63654 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

lD>7dvcHepxwbx9Lsl&I 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 delta 69457 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 Date: Wed, 9 Mar 2022 20:30:26 +0100 Subject: [PATCH 23/51] no inline style --- frontend/.eslintrc.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js index 8c410feba..96c602ef3 100644 --- a/frontend/.eslintrc.js +++ b/frontend/.eslintrc.js @@ -16,6 +16,12 @@ module.exports = { 'no-console': ['error'], 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'vue/component-name-in-template-casing': ['error', 'kebab-case'], + 'vue/no-static-inline-styles': [ + 'error', + { + allowBinding: false, + }, + ], 'prettier/prettier': [ 'error', { From 28f8c9e8acb13f26244bd12c49de11e2f359d000 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 9 Mar 2022 20:58:12 +0100 Subject: [PATCH 24/51] stylelint for scss --- frontend/.stylelintrc.js | 5 + frontend/package.json | 5 + frontend/yarn.lock | 330 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 334 insertions(+), 6 deletions(-) create mode 100644 frontend/.stylelintrc.js diff --git a/frontend/.stylelintrc.js b/frontend/.stylelintrc.js new file mode 100644 index 000000000..af8dcdb96 --- /dev/null +++ b/frontend/.stylelintrc.js @@ -0,0 +1,5 @@ +'use strict'; + +module.exports = { + extends: ["stylelint-config-standard"], +}; \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 3600920e4..5a14f394a 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -8,6 +8,7 @@ "build": "vue-cli-service build", "analyse-bundle": "yarn build && webpack-bundle-analyzer dist/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue .", + "stylelint": "stylelint --max-warnings=0 --customSyntax postcss-scss '**/*.scss'", "dev": "yarn run serve", "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'", "test": "TZ=UTC jest --coverage", @@ -76,8 +77,12 @@ "babel-plugin-transform-require-context": "^0.1.1", "dotenv-webpack": "^7.0.3", "node-sass": "^6.0.1", + "postcss": "^8.4.8", + "postcss-scss": "^4.0.3", "sass-loader": "^10", "stats-webpack-plugin": "^0.7.0", + "stylelint": "^14.5.3", + "stylelint-config-standard": "^25.0.0", "vue-template-compiler": "^2.6.11", "webpack-bundle-analyzer": "^4.5.0" }, diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 296e0f01b..4bce965da 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -2521,6 +2521,11 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/prettier@^2.0.0": version "2.2.3" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" @@ -3301,6 +3306,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -4014,6 +4024,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +balanced-match@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" + integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== + base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -4809,6 +4824,13 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + clone@2.x: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" @@ -4891,6 +4913,11 @@ color@^3.0.0: color-convert "^1.9.1" color-string "^1.5.4" +colord@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" + integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== + colorette@^1.2.1: version "1.4.0" resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" @@ -5145,6 +5172,17 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" +cosmiconfig@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + 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" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -5235,6 +5273,11 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" +css-functions-list@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.0.1.tgz#1460df7fb584d1692c30b105151dbb988c8094f9" + integrity sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw== + css-loader@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe" @@ -5479,7 +5522,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0: +debug@4, debug@^4.1.0, debug@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -6633,6 +6676,13 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -6817,6 +6867,17 @@ fast-glob@^3.1.1: micromatch "^4.0.2" picomatch "^2.2.1" +fast-glob@^3.2.11, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -6827,6 +6888,11 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastparse@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9" @@ -7231,6 +7297,11 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -7278,7 +7349,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@^5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -7321,6 +7392,22 @@ glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^11.0.1, globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -7357,6 +7444,18 @@ globby@^11.0.1: merge2 "^1.3.0" slash "^3.0.0" +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -7394,6 +7493,11 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= + globule@^1.0.0: version "1.3.2" resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4" @@ -7692,6 +7796,11 @@ html-tags@^2.0.0: resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" + integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + html-webpack-plugin@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" @@ -7865,6 +7974,11 @@ ignore@^5.1.1, ignore@^5.1.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -7895,6 +8009,11 @@ import-from@^2.1.0: dependencies: resolve-from "^3.0.0" +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -7954,7 +8073,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4: +ini@^1.3.4, ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -8305,6 +8424,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-potential-custom-element-name@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" @@ -8331,6 +8455,11 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -9728,6 +9857,11 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== +known-css-properties@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.24.0.tgz#19aefd85003ae5698a5560d2b55135bf5432155c" + integrity sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA== + launch-editor-middleware@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" @@ -10022,6 +10156,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mathml-tag-names@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" + integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -10097,7 +10236,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0: +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -10363,6 +10502,11 @@ nan@^2.12.1, nan@^2.13.2: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== +nanoid@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -10612,6 +10756,11 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-selector@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" + integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= + normalize-url@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -11392,6 +11541,11 @@ postcss-loader@^3.0.0: postcss-load-config "^2.0.0" schema-utils "^1.0.0" +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + postcss-merge-longhand@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" @@ -11595,6 +11749,21 @@ postcss-reduce-transforms@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + +postcss-safe-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" + integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== + +postcss-scss@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.3.tgz#36c23c19a804274e722e83a54d20b838ab4767ac" + integrity sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA== + postcss-selector-parser@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" @@ -11614,6 +11783,14 @@ postcss-selector-parser@^6.0.2: uniq "^1.0.1" util-deprecate "^1.0.2" +postcss-selector-parser@^6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-svgo@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" @@ -11643,6 +11820,11 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== +postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + postcss@^6.0.1, postcss@^6.0.23: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" @@ -11661,6 +11843,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3 source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.4.6, postcss@^8.4.8: + version "8.4.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" + integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -12724,6 +12915,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -12839,6 +13035,11 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -12942,6 +13143,11 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -13135,6 +13341,15 @@ string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string.prototype.padend@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz#6858ca4f35c5268ebd5e8615e1327d55f59ee311" @@ -13211,6 +13426,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -13253,6 +13475,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -13262,6 +13489,65 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" +stylelint-config-recommended@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz#7497372ae83ab7a6fffc18d7d7b424c6480ae15e" + integrity sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q== + +stylelint-config-standard@^25.0.0: + version "25.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz#2c916984e6655d40d6e8748b19baa8603b680bff" + integrity sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA== + dependencies: + stylelint-config-recommended "^7.0.0" + +stylelint@^14.5.3: + version "14.5.3" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.5.3.tgz#103b6670128ba3dea69fe3a1a07c4a5d3e0e3450" + integrity sha512-omHETL+kGHR+fCXFK1SkZD/A+emCP9esggAdWEl8GPjTNeyRYj+H6uetRDcU+7E451zwWiUYGVAX+lApsAZgsQ== + dependencies: + balanced-match "^2.0.0" + colord "^2.9.2" + cosmiconfig "^7.0.1" + css-functions-list "^3.0.1" + debug "^4.3.3" + 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.1.0" + ignore "^5.2.0" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + is-plain-object "^5.0.0" + known-css-properties "^0.24.0" + mathml-tag-names "^2.1.3" + meow "^9.0.0" + micromatch "^4.0.4" + normalize-path "^3.0.0" + normalize-selector "^0.2.0" + picocolors "^1.0.0" + postcss "^8.4.6" + 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.9" + postcss-value-parser "^4.2.0" + resolve-from "^5.0.0" + specificity "^0.4.1" + 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" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -13303,6 +13589,14 @@ supports-hyperlinks@^2.0.0: has-flag "^4.0.0" supports-color "^7.0.0" +supports-hyperlinks@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -13366,6 +13660,17 @@ table@^6.0.4: string-width "^4.2.0" strip-ansi "^6.0.0" +table@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + 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" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -14029,7 +14334,7 @@ uuid@^8.3.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3: +v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -14599,7 +14904,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9, which@^1.3.0: +which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -14683,6 +14988,14 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-file-atomic@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" + integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" @@ -14759,6 +15072,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yargs-parser@10.x: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" From 5c308e41b92c96c7f5787cfec9a2898ef96f2d05 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 9 Mar 2022 21:00:01 +0100 Subject: [PATCH 25/51] workflow for stylelint --- .github/workflows/test.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3c097993..8ee2f982b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -217,6 +217,35 @@ jobs: - name: frontend | Lint run: docker run --rm gradido/frontend:test yarn run lint + ############################################################################## + # JOB: STYLELINT FRONTEND #################################################### + ############################################################################## + stylelint_frontend: + name: Stylelint - Frontend + runs-on: ubuntu-latest + needs: [build_test_frontend] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGE ################################################## + ########################################################################## + - name: Download Docker Image (Frontend) + uses: actions/download-artifact@v2 + with: + name: docker-frontend-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/frontend.tar + ########################################################################## + # STYLELINT FRONTEND ##################################################### + ########################################################################## + - name: frontend | Stylelint + run: docker run --rm gradido/frontend:test yarn run stylelint + ############################################################################## # JOB: LINT ADMIN INTERFACE ################################################## ############################################################################## From 0275417f3d7b30a1bc8cb598c1a84d9f45474ea1 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 9 Mar 2022 21:11:58 +0100 Subject: [PATCH 26/51] updated node version frontend --- frontend/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 879fdf4e0..61a7f2f47 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,7 +1,7 @@ ################################################################################## # BASE ########################################################################### ################################################################################## -FROM node:12.19.0-alpine3.10 as base +FROM node:17.6.0-alpine3.14 as base # ENVs (available in production aswell, can be overwritten by commandline or env file) ## DOCKER_WORKDIR would be a classical ARG, but that is not multi layer persistent - shame From 9390cd7fd211d35445bfe0dbf96ad464997bd9cf Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 9 Mar 2022 21:14:58 +0100 Subject: [PATCH 27/51] downgraded node version to 16.14 to have proper python compiler --- frontend/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 61a7f2f47..b8709f814 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,7 +1,7 @@ ################################################################################## # BASE ########################################################################### ################################################################################## -FROM node:17.6.0-alpine3.14 as base +FROM node:16.14.0-alpine3.14 as base # ENVs (available in production aswell, can be overwritten by commandline or env file) ## DOCKER_WORKDIR would be a classical ARG, but that is not multi layer persistent - shame From 9943dce7e7931dc932400e4527da5f20c00d8e9f Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 9 Mar 2022 21:25:17 +0100 Subject: [PATCH 28/51] node 17 with node-gyp dependencies --- frontend/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index b8709f814..a79b22fb9 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,7 +1,7 @@ ################################################################################## # BASE ########################################################################### ################################################################################## -FROM node:16.14.0-alpine3.14 as base +FROM node:17.6.0-alpine3.14 as base # ENVs (available in production aswell, can be overwritten by commandline or env file) ## DOCKER_WORKDIR would be a classical ARG, but that is not multi layer persistent - shame @@ -31,8 +31,8 @@ LABEL org.label-schema.schema-version="1.0" LABEL maintainer="support@ogradido.net" # Install Additional Software -## install: git -#RUN apk --no-cache add git +## install: node-gyp dependencies +RUN apk --no-cache add g++ make python # Settings ## Expose Container Port From 2bf6e5a98a21cbde1389e377923a836b22276ea8 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Wed, 9 Mar 2022 21:28:03 +0100 Subject: [PATCH 29/51] python3 --- frontend/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index a79b22fb9..c59cebb57 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -32,7 +32,7 @@ LABEL maintainer="support@ogradido.net" # Install Additional Software ## install: node-gyp dependencies -RUN apk --no-cache add g++ make python +RUN apk --no-cache add g++ make python3 # Settings ## Expose Container Port From 56e7e3b28bc9806b51a8ca0e69494fcc7565136f Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 11:52:27 +0100 Subject: [PATCH 30/51] use node 16 since node 17 uses ssl3 --- frontend/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/Dockerfile b/frontend/Dockerfile index c59cebb57..a9d7572f2 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -1,7 +1,7 @@ ################################################################################## # BASE ########################################################################### ################################################################################## -FROM node:17.6.0-alpine3.14 as base +FROM node:16-alpine3.14 as base # ENVs (available in production aswell, can be overwritten by commandline or env file) ## DOCKER_WORKDIR would be a classical ARG, but that is not multi layer persistent - shame From 5b72d01c7d735619facccac3c002f737447f9b74 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 12:22:53 +0100 Subject: [PATCH 31/51] vue stylelint --- frontend/.stylelintrc.js | 15 ++++- frontend/package.json | 6 +- frontend/yarn.lock | 121 +++++++++++++++++++++++++++++++++++---- 3 files changed, 129 insertions(+), 13 deletions(-) diff --git a/frontend/.stylelintrc.js b/frontend/.stylelintrc.js index af8dcdb96..3ca693d73 100644 --- a/frontend/.stylelintrc.js +++ b/frontend/.stylelintrc.js @@ -1,5 +1,18 @@ 'use strict'; module.exports = { - extends: ["stylelint-config-standard"], + extends: ["stylelint-config-standard-scss", "stylelint-config-recommended-vue"], + overrides: [ + { + files: "**/*.{scss}", + customSyntax: "postcss-scss", + extends: ["stylelint-config-standard-scss"], + }, + { + files: "**/*.vue", + customSyntax: "postcss-html", + extends: ["stylelint-config-recommended-vue"], + } + ] + }; \ No newline at end of file diff --git a/frontend/package.json b/frontend/package.json index 5a14f394a..6bf262c03 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -8,7 +8,7 @@ "build": "vue-cli-service build", "analyse-bundle": "yarn build && webpack-bundle-analyzer dist/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue .", - "stylelint": "stylelint --max-warnings=0 --customSyntax postcss-scss '**/*.scss'", + "stylelint": "stylelint --max-warnings=0 '**/*.{scss,vue}'", "dev": "yarn run serve", "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'", "test": "TZ=UTC jest --coverage", @@ -78,11 +78,13 @@ "dotenv-webpack": "^7.0.3", "node-sass": "^6.0.1", "postcss": "^8.4.8", + "postcss-html": "^1.3.0", "postcss-scss": "^4.0.3", "sass-loader": "^10", "stats-webpack-plugin": "^0.7.0", "stylelint": "^14.5.3", - "stylelint-config-standard": "^25.0.0", + "stylelint-config-recommended-vue": "^1.3.0", + "stylelint-config-standard-scss": "^3.0.0", "vue-template-compiler": "^2.6.11", "webpack-bundle-analyzer": "^4.5.0" }, diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 4bce965da..649d90f13 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -5800,6 +5800,15 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" @@ -5815,6 +5824,11 @@ domelementtype@^2.0.1: resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.1.0.tgz#a851c080a6d1c3d94344aed151d99f669edf585e" integrity sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w== +domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -5836,6 +5850,13 @@ domhandler@^2.3.0: dependencies: domelementtype "1" +domhandler@^4.2.0, domhandler@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + dependencies: + domelementtype "^2.2.0" + domutils@^1.5.1, domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" @@ -5844,6 +5865,15 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-object@^1.7.1: version "1.9.0" resolved "https://registry.yarnpkg.com/dot-object/-/dot-object-1.9.0.tgz#6e3d6d8379f794c5174599ddf05528f5990f076e" @@ -6022,6 +6052,11 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -7826,6 +7861,16 @@ htmlparser2@^3.10.1: inherits "^2.0.1" readable-stream "^3.1.1" +htmlparser2@^7.1.2: + version "7.2.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" + http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -11523,6 +11568,15 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-html@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-1.3.0.tgz#5b28b44a9cc8351cdba6ae1f26017c2303bd7642" + integrity sha512-ewbwd7OGW4dLsErtvZH9HpVMEcXnlhYSzKsr7MepGlOT8imHTIZ/+pdfEruLS+hTYapLTQAWDnoQcJpsYU4uRw== + dependencies: + htmlparser2 "^7.1.2" + postcss "^8.4.0" + postcss-safe-parser "^6.0.0" + postcss-load-config@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" @@ -11759,7 +11813,7 @@ postcss-safe-parser@^6.0.0: resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== -postcss-scss@^4.0.3: +postcss-scss@^4.0.2, postcss-scss@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.3.tgz#36c23c19a804274e722e83a54d20b838ab4767ac" integrity sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA== @@ -11783,7 +11837,7 @@ postcss-selector-parser@^6.0.2: uniq "^1.0.1" util-deprecate "^1.0.2" -postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -11843,7 +11897,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3 source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.4.6, postcss@^8.4.8: +postcss@^8.4.0, postcss@^8.4.6, postcss@^8.4.8: version "8.4.8" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== @@ -12744,7 +12798,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.4: +semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -13489,17 +13543,64 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylelint-config-recommended@^7.0.0: +stylelint-config-html@>=1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-html/-/stylelint-config-html-1.0.0.tgz#172acb996ee4c854e8c670fcff77ff0d98d3bec2" + integrity sha512-rKQUUWDpaYC7ybsS6tLxddjn6DxhjSIXybElSmcTyVQj3ExhmU3q+l41ktrlwHRyY0M5SkTkZiwngvYPYmsgSQ== + +stylelint-config-recommended-scss@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz#193f483861c76a36ece24c52eb6baca4838f4a48" + integrity sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg== + dependencies: + postcss-scss "^4.0.2" + stylelint-config-recommended "^6.0.0" + stylelint-scss "^4.0.0" + +stylelint-config-recommended-vue@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.3.0.tgz#a40f1efa5bff8bd3e2c1c58c3faacbe73b5b69ec" + integrity sha512-UEY/MZlBO2yiQdZoJm33trtqJ1MEDzBADhIAM0pTvfYbyXe5KwdbTtmALHETG1cXfDxuuUbJTvL9uENMy2Rjug== + dependencies: + semver "^7.3.5" + stylelint-config-html ">=1.0.0" + stylelint-config-recommended ">=6.0.0" + +stylelint-config-recommended@>=6.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz#7497372ae83ab7a6fffc18d7d7b424c6480ae15e" integrity sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q== -stylelint-config-standard@^25.0.0: - version "25.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-25.0.0.tgz#2c916984e6655d40d6e8748b19baa8603b680bff" - integrity sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA== +stylelint-config-recommended@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz#fd2523a322836005ad9bf473d3e5534719c09f9d" + integrity sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw== + +stylelint-config-standard-scss@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-3.0.0.tgz#dafc4fa5538d0ed833bf0a7d391e075683ffd96c" + integrity sha512-zt3ZbzIbllN1iCmc94e4pDxqpkzeR6CJo5DDXzltshuXr+82B8ylHyMMARNnUYrZH80B7wgY7UkKTYCFM0UUyw== dependencies: - stylelint-config-recommended "^7.0.0" + stylelint-config-recommended-scss "^5.0.2" + stylelint-config-standard "^24.0.0" + +stylelint-config-standard@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz#6823f207ab997ae0b641f9a636d007cc44d77541" + integrity sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw== + dependencies: + stylelint-config-recommended "^6.0.0" + +stylelint-scss@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.1.0.tgz#39b808696f8152081163d970449257ff80b5c041" + integrity sha512-BNYTo7MMamhFOlcaAWp2dMpjg6hPyM/FFqfDIYzmYVLMmQJqc8lWRIiTqP4UX5bresj9Vo0dKC6odSh43VP2NA== + dependencies: + lodash "^4.17.21" + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-selector-parser "^6.0.6" + postcss-value-parser "^4.1.0" stylelint@^14.5.3: version "14.5.3" From a8c5fca69dd47d218e235de84ac223c625a77ca8 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 12:34:31 +0100 Subject: [PATCH 32/51] moved vue-cli-plugin-i18n into dev dependencies --- frontend/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/package.json b/frontend/package.json index 6bf262c03..2bbc59ea8 100755 --- a/frontend/package.json +++ b/frontend/package.json @@ -6,10 +6,10 @@ "start": "node run/server.js", "serve": "vue-cli-service serve --open", "build": "vue-cli-service build", + "dev": "yarn run serve", "analyse-bundle": "yarn build && webpack-bundle-analyzer dist/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue .", "stylelint": "stylelint --max-warnings=0 '**/*.{scss,vue}'", - "dev": "yarn run serve", "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'", "test": "TZ=UTC jest --coverage", "locales": "scripts/missing-keys.sh && scripts/sort.sh" @@ -53,7 +53,6 @@ "vee-validate": "^3.4.5", "vue": "2.6.12", "vue-apollo": "^3.0.7", - "vue-cli-plugin-i18n": "^1.0.1", "vue-flatpickr-component": "^8.1.2", "vue-focus": "^2.1.0", "vue-i18n": "^8.22.4", @@ -85,6 +84,7 @@ "stylelint": "^14.5.3", "stylelint-config-recommended-vue": "^1.3.0", "stylelint-config-standard-scss": "^3.0.0", + "vue-cli-plugin-i18n": "^1.0.1", "vue-template-compiler": "^2.6.11", "webpack-bundle-analyzer": "^4.5.0" }, From a3fa10abd27cc46e6f79c4ac628c1ad246c826a9 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 12:35:21 +0100 Subject: [PATCH 33/51] admin - yarn commands analyse-bundle, stylelint, i18n:report --- admin/package.json | 12 +- admin/yarn.lock | 594 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 591 insertions(+), 15 deletions(-) diff --git a/admin/package.json b/admin/package.json index d499117af..a46dc1fd6 100644 --- a/admin/package.json +++ b/admin/package.json @@ -9,9 +9,12 @@ "scripts": { "start": "node run/server.js", "serve": "vue-cli-service serve --open", - "dev": "yarn run serve", "build": "vue-cli-service build", + "dev": "yarn run serve", + "analyse-bundle": "yarn build && webpack-bundle-analyzer dist/webpack.stats.json", "lint": "eslint --max-warnings=0 --ext .js,.vue .", + "stylelint": "stylelint --max-warnings=0 '**/*.{scss,vue}'", + "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'", "test": "TZ=UTC jest --coverage", "locales": "scripts/missing-keys.sh && scripts/sort.sh" }, @@ -65,6 +68,13 @@ "eslint-plugin-promise": "^5.1.1", "eslint-plugin-vue": "^7.20.0", "jest-environment-jsdom-sixteen": "^2.0.0", + "postcss": "^8.4.8", + "postcss-html": "^1.3.0", + "postcss-scss": "^4.0.3", + "stylelint": "^14.5.3", + "stylelint-config-recommended-vue": "^1.3.0", + "stylelint-config-standard-scss": "^3.0.0", + "vue-cli-plugin-i18n": "^2.3.1", "vue-template-compiler": "^2.6.11" }, "browserslist": [ diff --git a/admin/yarn.lock b/admin/yarn.lock index 4e5d587e5..4dd2c8193 100644 --- a/admin/yarn.lock +++ b/admin/yarn.lock @@ -1673,6 +1673,11 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/prettier@^2.0.0": version "2.4.1" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" @@ -2712,6 +2717,11 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" +arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -3508,6 +3518,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +balanced-match@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-2.0.0.tgz#dc70f920d78db8b858535795867bf48f820633d9" + integrity sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA== + base64-js@^1.0.2: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -3923,6 +3938,15 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" +camelcase-keys@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" + integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== + dependencies: + camelcase "^5.3.1" + map-obj "^4.0.0" + quick-lru "^4.0.1" + camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -4141,6 +4165,16 @@ cli-spinners@^2.0.0: resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" integrity sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== +cli-table3@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -4191,6 +4225,13 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +clone-regexp@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-2.2.0.tgz#7d65e00885cd8796405c35a737e7a86b7429e36f" + integrity sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q== + dependencies: + is-regexp "^2.0.0" + clone@2.x: version "2.1.2" resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" @@ -4268,6 +4309,16 @@ color@^3.0.0: color-convert "^1.9.3" color-string "^1.6.0" +colord@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.2.tgz#25e2bacbbaa65991422c07ea209e2089428effb1" + integrity sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ== + +colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -4486,6 +4537,17 @@ cosmiconfig@^5.0.0: js-yaml "^3.13.1" parse-json "^4.0.0" +cosmiconfig@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + 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" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -4576,6 +4638,11 @@ css-declaration-sorter@^4.0.1: postcss "^7.0.1" timsort "^0.3.0" +css-functions-list@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/css-functions-list/-/css-functions-list-3.0.1.tgz#1460df7fb584d1692c30b105151dbb988c8094f9" + integrity sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw== + css-loader@^3.5.3: version "3.6.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" @@ -4825,7 +4892,22 @@ debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: dependencies: ms "^2.1.1" -decamelize@^1.2.0: +debug@^4.3.0, debug@^4.3.3: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + +decamelize-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" + integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + dependencies: + decamelize "^1.1.0" + map-obj "^1.0.0" + +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -4862,7 +4944,7 @@ deepmerge@^1.5.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== -deepmerge@^4.2.2: +deepmerge@^4.2.0, deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== @@ -5101,6 +5183,13 @@ domhandler@^4.0.0, domhandler@^4.2.0: dependencies: domelementtype "^2.2.0" +domhandler@^4.2.2: + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== + dependencies: + domelementtype "^2.2.0" + domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" @@ -5109,7 +5198,7 @@ domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.5.2, domutils@^2.6.0: +domutils@^2.5.2, domutils@^2.6.0, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -5118,6 +5207,14 @@ domutils@^2.5.2, domutils@^2.6.0: domelementtype "^2.2.0" domhandler "^4.2.0" +dot-object@^1.7.1: + version "1.9.0" + resolved "https://registry.yarnpkg.com/dot-object/-/dot-object-1.9.0.tgz#6e3d6d8379f794c5174599ddf05528f5990f076e" + integrity sha512-7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw== + dependencies: + commander "^2.20.0" + glob "^7.1.4" + dot-prop@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" @@ -5273,6 +5370,11 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + errno@^0.1.3, errno@~0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" @@ -5585,6 +5687,11 @@ eslint@7.25.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +esm@^3.2.13: + version "3.2.25" + resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" + integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== + espree@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" @@ -5734,6 +5841,13 @@ execa@^4.0.0: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +execall@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/execall/-/execall-2.0.0.tgz#16a06b5fe5099df7d00be5d9c06eecded1663b45" + integrity sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow== + dependencies: + clone-regexp "^2.1.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -5905,6 +6019,17 @@ fast-glob@^3.1.1: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.2.11, fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -5915,6 +6040,11 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastest-levenshtein@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz#9990f7d3a88cc5a9ffd1f1745745251700d497e2" + integrity sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow== + fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -6076,6 +6206,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.1.0: version "3.2.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" @@ -6239,6 +6374,11 @@ get-stdin@^6.0.0: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== +get-stdin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-8.0.0.tgz#cbad6a73feb75f6eeb22ba9e01f89aa28aa97a53" + integrity sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -6310,6 +6450,22 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -6339,6 +6495,18 @@ globby@^11.0.4: merge2 "^1.3.0" slash "^3.0.0" +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -6376,6 +6544,11 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" +globjoin@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" + integrity sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM= + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" @@ -6424,6 +6597,11 @@ har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" +hard-rejection@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" + integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== + harmony-reflect@^1.4.6: version "1.6.2" resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" @@ -6569,6 +6747,13 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== + dependencies: + lru-cache "^6.0.0" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -6659,6 +6844,16 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" +htmlparser2@^7.1.2: + version "7.2.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" + http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -6813,6 +7008,11 @@ ignore@^5.1.1, ignore@^5.1.4: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -6843,6 +7043,11 @@ import-from@^2.1.0: dependencies: resolve-from "^3.0.0" +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -6864,6 +7069,11 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -6897,7 +7107,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4: +ini@^1.3.4, ini@^1.3.5: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -7074,6 +7284,13 @@ is-core-module@^2.2.0, is-core-module@^2.7.0: dependencies: has "^1.0.3" +is-core-module@^2.5.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -7217,7 +7434,7 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-plain-obj@^1.0.0: +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= @@ -7234,6 +7451,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" @@ -7247,6 +7469,11 @@ is-regex@^1.0.4, is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-regexp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-2.1.0.tgz#cd734a56864e23b956bf4e7c66c396a4c0b22c2d" + integrity sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA== + is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" @@ -7286,6 +7513,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= + is-weakref@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" @@ -8551,7 +8783,7 @@ kind-of@^5.0.0: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -8561,6 +8793,11 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +known-css-properties@^0.24.0: + version "0.24.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.24.0.tgz#19aefd85003ae5698a5560d2b55135bf5432155c" + integrity sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA== + launch-editor-middleware@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz#e14b07e6c7154b0a4b86a0fd345784e45804c157" @@ -8821,6 +9058,16 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= +map-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-obj@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" + integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -8828,6 +9075,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +mathml-tag-names@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3" + integrity sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -8868,6 +9120,24 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +meow@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" + integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== + 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" + merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -8885,7 +9155,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3, merge2@^1.3.0: +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -8962,6 +9232,11 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +min-indent@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" + integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== + mini-css-extract-plugin@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" @@ -8989,6 +9264,15 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" +minimist-options@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" + integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== + dependencies: + arrify "^1.0.1" + is-plain-obj "^1.1.0" + kind-of "^6.0.3" + minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -9096,6 +9380,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== +nanoid@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -9266,6 +9555,16 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" +normalize-package-data@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" + integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== + dependencies: + hosted-git-info "^4.0.1" + is-core-module "^2.5.0" + semver "^7.3.4" + validate-npm-package-license "^3.0.1" + normalize-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" @@ -9288,6 +9587,11 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= +normalize-selector@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" + integrity sha1-0LFF62kRicY6eNIB3E/bEpPvDAM= + normalize-url@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" @@ -9984,6 +10288,15 @@ postcss-discard-overridden@^4.0.1: dependencies: postcss "^7.0.0" +postcss-html@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-1.3.0.tgz#5b28b44a9cc8351cdba6ae1f26017c2303bd7642" + integrity sha512-ewbwd7OGW4dLsErtvZH9HpVMEcXnlhYSzKsr7MepGlOT8imHTIZ/+pdfEruLS+hTYapLTQAWDnoQcJpsYU4uRw== + dependencies: + htmlparser2 "^7.1.2" + postcss "^8.4.0" + postcss-safe-parser "^6.0.0" + postcss-load-config@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" @@ -10002,6 +10315,11 @@ postcss-loader@^3.0.0: postcss-load-config "^2.0.0" schema-utils "^1.0.0" +postcss-media-query-parser@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" + integrity sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ= + postcss-merge-longhand@^4.0.11: version "4.0.11" resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" @@ -10207,6 +10525,21 @@ postcss-reduce-transforms@^4.0.2: postcss "^7.0.0" postcss-value-parser "^3.0.0" +postcss-resolve-nested-selector@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" + integrity sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4= + +postcss-safe-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz#bb4c29894171a94bc5c996b9a30317ef402adaa1" + integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== + +postcss-scss@^4.0.2, postcss-scss@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.3.tgz#36c23c19a804274e722e83a54d20b838ab4767ac" + integrity sha512-j4KxzWovfdHsyxwl1BxkUal/O4uirvHgdzMKS1aWJBAV0qh2qj5qAZqpeBfVUYGWv+4iK9Az7SPyZ4fyNju1uA== + postcss-selector-parser@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" @@ -10224,6 +10557,14 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: cssesc "^3.0.0" util-deprecate "^1.0.2" +postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: + version "6.0.9" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + postcss-svgo@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" @@ -10252,6 +10593,11 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== +postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" @@ -10260,6 +10606,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3 picocolors "^0.2.1" source-map "^0.6.1" +postcss@^8.4.0, postcss@^8.4.6, postcss@^8.4.8: + version "8.4.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.8.tgz#dad963a76e82c081a0657d3a2f3602ce10c2e032" + integrity sha512-2tXEqGxrjvAO6U+CJzDL2Fk2kPHTv1jQsYkSoMeOis2SsYaXRO2COxTdQp99cYvif9JTXaAk9lYGc3VhJt7JPQ== + dependencies: + nanoid "^3.3.1" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -10480,6 +10835,11 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-lru@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" + integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== + randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -10601,6 +10961,14 @@ realpath-native@^1.1.0: dependencies: util.promisify "^1.0.0" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + regenerate-unicode-properties@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" @@ -11040,7 +11408,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -11199,6 +11567,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -11298,6 +11671,11 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" @@ -11386,6 +11764,11 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== + split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -11537,7 +11920,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-width@^2.0.0: +string-width@^2.0.0, string-width@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -11646,6 +12029,13 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= +strip-indent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" + integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== + dependencies: + min-indent "^1.0.0" + strip-json-comments@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -11656,6 +12046,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +style-search@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" + integrity sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI= + stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -11665,6 +12060,112 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" +stylelint-config-html@>=1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-html/-/stylelint-config-html-1.0.0.tgz#172acb996ee4c854e8c670fcff77ff0d98d3bec2" + integrity sha512-rKQUUWDpaYC7ybsS6tLxddjn6DxhjSIXybElSmcTyVQj3ExhmU3q+l41ktrlwHRyY0M5SkTkZiwngvYPYmsgSQ== + +stylelint-config-recommended-scss@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-5.0.2.tgz#193f483861c76a36ece24c52eb6baca4838f4a48" + integrity sha512-b14BSZjcwW0hqbzm9b0S/ScN2+3CO3O4vcMNOw2KGf8lfVSwJ4p5TbNEXKwKl1+0FMtgRXZj6DqVUe/7nGnuBg== + dependencies: + postcss-scss "^4.0.2" + stylelint-config-recommended "^6.0.0" + stylelint-scss "^4.0.0" + +stylelint-config-recommended-vue@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.3.0.tgz#a40f1efa5bff8bd3e2c1c58c3faacbe73b5b69ec" + integrity sha512-UEY/MZlBO2yiQdZoJm33trtqJ1MEDzBADhIAM0pTvfYbyXe5KwdbTtmALHETG1cXfDxuuUbJTvL9uENMy2Rjug== + dependencies: + semver "^7.3.5" + stylelint-config-html ">=1.0.0" + stylelint-config-recommended ">=6.0.0" + +stylelint-config-recommended@>=6.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz#7497372ae83ab7a6fffc18d7d7b424c6480ae15e" + integrity sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q== + +stylelint-config-recommended@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz#fd2523a322836005ad9bf473d3e5534719c09f9d" + integrity sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw== + +stylelint-config-standard-scss@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-3.0.0.tgz#dafc4fa5538d0ed833bf0a7d391e075683ffd96c" + integrity sha512-zt3ZbzIbllN1iCmc94e4pDxqpkzeR6CJo5DDXzltshuXr+82B8ylHyMMARNnUYrZH80B7wgY7UkKTYCFM0UUyw== + dependencies: + stylelint-config-recommended-scss "^5.0.2" + stylelint-config-standard "^24.0.0" + +stylelint-config-standard@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz#6823f207ab997ae0b641f9a636d007cc44d77541" + integrity sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw== + dependencies: + stylelint-config-recommended "^6.0.0" + +stylelint-scss@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/stylelint-scss/-/stylelint-scss-4.1.0.tgz#39b808696f8152081163d970449257ff80b5c041" + integrity sha512-BNYTo7MMamhFOlcaAWp2dMpjg6hPyM/FFqfDIYzmYVLMmQJqc8lWRIiTqP4UX5bresj9Vo0dKC6odSh43VP2NA== + dependencies: + lodash "^4.17.21" + postcss-media-query-parser "^0.2.3" + postcss-resolve-nested-selector "^0.1.1" + postcss-selector-parser "^6.0.6" + postcss-value-parser "^4.1.0" + +stylelint@^14.5.3: + version "14.5.3" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.5.3.tgz#103b6670128ba3dea69fe3a1a07c4a5d3e0e3450" + integrity sha512-omHETL+kGHR+fCXFK1SkZD/A+emCP9esggAdWEl8GPjTNeyRYj+H6uetRDcU+7E451zwWiUYGVAX+lApsAZgsQ== + dependencies: + balanced-match "^2.0.0" + colord "^2.9.2" + cosmiconfig "^7.0.1" + css-functions-list "^3.0.1" + debug "^4.3.3" + 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.1.0" + ignore "^5.2.0" + import-lazy "^4.0.0" + imurmurhash "^0.1.4" + is-plain-object "^5.0.0" + known-css-properties "^0.24.0" + mathml-tag-names "^2.1.3" + meow "^9.0.0" + micromatch "^4.0.4" + normalize-path "^3.0.0" + normalize-selector "^0.2.0" + picocolors "^1.0.0" + postcss "^8.4.6" + 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.9" + postcss-value-parser "^4.2.0" + resolve-from "^5.0.0" + specificity "^0.4.1" + 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" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -11698,7 +12199,7 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: +supports-hyperlinks@^2.0.0, supports-hyperlinks@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== @@ -11752,6 +12253,17 @@ table@^6.0.4: string-width "^4.2.3" strip-ansi "^6.0.1" +table@^6.8.0: + version "6.8.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== + 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" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -11995,6 +12507,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= +trim-newlines@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" + integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== + tryer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" @@ -12101,6 +12618,11 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-fest@^0.18.0: + version "0.18.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" + integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== + type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -12359,7 +12881,7 @@ uuid@^8.3.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== -v8-compile-cache@^2.0.3: +v8-compile-cache@^2.0.3, v8-compile-cache@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== @@ -12421,6 +12943,20 @@ vue-apollo@^3.0.8: serialize-javascript "^4.0.0" throttle-debounce "^2.1.0" +vue-cli-plugin-i18n@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-2.3.1.tgz#193b1e481a02e044d847392b3d070e1a3dec954e" + integrity sha512-1bNVZtLIAL9Pge8hiw986vixofyqF/tlgsqe4fF5JWn9c8xhsqVugEBuUeaYxevrE9efhhFk9mRmEDwBwQnbNg== + dependencies: + debug "^4.3.0" + deepmerge "^4.2.0" + dotenv "^8.2.0" + flat "^5.0.0" + rimraf "^3.0.0" + vue "^2.6.11" + vue-i18n "^8.17.0" + vue-i18n-extract "1.0.2" + vue-eslint-parser@^7.10.0: version "7.11.0" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz#214b5dea961007fcffb2ee65b8912307628d0daf" @@ -12444,6 +12980,23 @@ vue-hot-reload-api@^2.3.0: resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== +vue-i18n-extract@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz#0a136e12d1634d6799e187aad81a7003d02f67a5" + integrity sha512-+zwDKvle4KcfloXZnj5hF01ViKDiFr5RMx5507D7oyDXpSleRpekF5YHgZa/+Ra6Go68//z0Nya58J9tKFsCjw== + dependencies: + cli-table3 "^0.5.1" + dot-object "^1.7.1" + esm "^3.2.13" + glob "^7.1.3" + is-valid-glob "^1.0.0" + yargs "^13.2.2" + +vue-i18n@^8.17.0: + version "8.27.0" + resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.27.0.tgz#3e3b3ed2c107ccbd7f20dbdd7a96763a9990253e" + integrity sha512-SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw== + vue-i18n@^8.26.5: version "8.26.5" resolved "https://registry.yarnpkg.com/vue-i18n/-/vue-i18n-8.26.5.tgz#b61e994e7ae83564c6aebd004543156bbdc7c7e9" @@ -12818,7 +13371,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9, which@^1.3.0: +which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -12895,6 +13448,14 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-file-atomic@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" + integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + ws@^5.2.0: version "5.2.3" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.3.tgz#05541053414921bc29c63bee14b8b0dd50b07b3d" @@ -12954,6 +13515,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yargs-parser@10.x: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -12977,12 +13543,12 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2: +yargs-parser@^20.2.2, yargs-parser@^20.2.3: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^13.3.0, yargs@^13.3.2: +yargs@^13.2.2, yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== From ec58862e7e6cfc323fd5da08396ef712e60b881f Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 12:38:56 +0100 Subject: [PATCH 34/51] test workflow for stylelint admin --- .github/workflows/test.yml | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8ee2f982b..c9fda7b2a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -185,7 +185,7 @@ jobs: ########################################################################## # LOCALES FRONTEND ####################################################### ########################################################################## - - name: frontend | Locales + - name: Frontend | Locales run: docker run --rm gradido/frontend:test yarn run locales ############################################################################## @@ -214,7 +214,7 @@ jobs: ########################################################################## # LINT FRONTEND ########################################################## ########################################################################## - - name: frontend | Lint + - name: Frontend | Lint run: docker run --rm gradido/frontend:test yarn run lint ############################################################################## @@ -243,7 +243,7 @@ jobs: ########################################################################## # STYLELINT FRONTEND ##################################################### ########################################################################## - - name: frontend | Stylelint + - name: Frontend | Stylelint run: docker run --rm gradido/frontend:test yarn run stylelint ############################################################################## @@ -276,7 +276,36 @@ jobs: run: docker run --rm gradido/admin:test yarn run lint ############################################################################## - # JOB: LOCALES ADMIN ###################################################### + # JOB: STYLELINT ADMIN INTERFACE ############################################## + ############################################################################## + stylelint_admin: + name: Stylelint - Admin Interface + runs-on: ubuntu-latest + needs: [build_test_admin] + steps: + ########################################################################## + # CHECKOUT CODE ########################################################## + ########################################################################## + - name: Checkout code + uses: actions/checkout@v2 + ########################################################################## + # DOWNLOAD DOCKER IMAGE ################################################## + ########################################################################## + - name: Download Docker Image (Admin Interface) + uses: actions/download-artifact@v2 + with: + name: docker-admin-test + path: /tmp + - name: Load Docker Image + run: docker load < /tmp/admin.tar + ########################################################################## + # STYLELINT ADMIN INTERFACE ############################################## + ########################################################################## + - name: Admin Interface | Stylelint + run: docker run --rm gradido/admin:test yarn run stylelint + + ############################################################################## + # JOB: LOCALES ADMIN ######################################################### ############################################################################## locales_admin: name: Locales - Admin From 049e1c4318c4dba7807172adb387c2f46c4ff73c Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 12:48:07 +0100 Subject: [PATCH 35/51] admin stylelint config file --- admin/.stylelintrc.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 admin/.stylelintrc.js diff --git a/admin/.stylelintrc.js b/admin/.stylelintrc.js new file mode 100644 index 000000000..3ca693d73 --- /dev/null +++ b/admin/.stylelintrc.js @@ -0,0 +1,18 @@ +'use strict'; + +module.exports = { + extends: ["stylelint-config-standard-scss", "stylelint-config-recommended-vue"], + overrides: [ + { + files: "**/*.{scss}", + customSyntax: "postcss-scss", + extends: ["stylelint-config-standard-scss"], + }, + { + files: "**/*.vue", + customSyntax: "postcss-html", + extends: ["stylelint-config-recommended-vue"], + } + ] + +}; \ No newline at end of file From 8c14fb64c4ae00daa8ba2b90e5733d0d27a04939 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 12:57:13 +0100 Subject: [PATCH 36/51] forbid inline style in admin --- admin/.eslintrc.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/admin/.eslintrc.js b/admin/.eslintrc.js index 8c410feba..96c602ef3 100644 --- a/admin/.eslintrc.js +++ b/admin/.eslintrc.js @@ -16,6 +16,12 @@ module.exports = { 'no-console': ['error'], 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', 'vue/component-name-in-template-casing': ['error', 'kebab-case'], + 'vue/no-static-inline-styles': [ + 'error', + { + allowBinding: false, + }, + ], 'prettier/prettier': [ 'error', { From e82306e4bb2ef868253d8671facedc797c39e246 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 19:48:11 +0100 Subject: [PATCH 37/51] stylelint fixes --- .../src/assets/scss/custom/_variables.scss | 381 +++++++++--------- .../scss/custom/gradido-custom/_alerts.scss | 2 - .../scss/custom/gradido-custom/_badges.scss | 21 +- .../scss/custom/gradido-custom/_body.scss | 1 - .../custom/gradido-custom/_buttons-forms.scss | 37 +- .../scss/custom/gradido-custom/_buttons.scss | 52 +-- .../scss/custom/gradido-custom/_cards.scss | 29 +- .../scss/custom/gradido-custom/_chart.scss | 1 - .../scss/custom/gradido-custom/_close.scss | 14 +- .../scss/custom/gradido-custom/_color.scss | 317 ++++++++------- .../custom/gradido-custom/_components.scss | 47 +-- .../custom/gradido-custom/_custom-forms.scss | 52 ++- .../custom/gradido-custom/_custom-toogle.scss | 6 +- .../custom/gradido-custom/_datepicker.scss | 14 +- .../scss/custom/gradido-custom/_dropdown.scss | 12 +- .../scss/custom/gradido-custom/_fonts.scss | 146 +++---- .../scss/custom/gradido-custom/_footer.scss | 10 +- .../custom/gradido-custom/_form-groups.scss | 2 +- .../gradido-custom/_form-validation.scss | 8 +- .../scss/custom/gradido-custom/_forms.scss | 1 + .../scss/custom/gradido-custom/_global.scss | 16 +- .../gradido-custom/_grid-breakpoint.scss | 3 +- .../scss/custom/gradido-custom/_icons.scss | 3 +- .../custom/gradido-custom/_input-groups.scss | 13 +- .../scss/custom/gradido-custom/_input.scss | 73 ++-- .../scss/custom/gradido-custom/_links.scss | 8 +- .../custom/gradido-custom/_list-group.scss | 37 +- .../scss/custom/gradido-custom/_modals.scss | 40 +- .../scss/custom/gradido-custom/_navbar.scss | 84 ++-- .../scss/custom/gradido-custom/_navs.scss | 38 +- .../custom/gradido-custom/_nouislider.scss | 25 +- .../custom/gradido-custom/_pagination.scss | 32 +- .../scss/custom/gradido-custom/_popovers.scss | 40 +- .../scss/custom/gradido-custom/_sections.scss | 1 - .../scss/custom/gradido-custom/_spacing.scss | 62 +-- .../scss/custom/gradido-custom/_tables.scss | 53 ++- .../scss/custom/gradido-custom/_tooltips.scss | 2 +- .../gradido-custom/_vertical-navbar.scss | 9 +- frontend/src/assets/scss/gradido.scss | 191 +++++---- frontend/src/components/Menu/Sidebar.vue | 4 +- frontend/src/components/UserCard.vue | 1 - .../src/components/UserCard_FormUserMail.vue | 1 - frontend/src/layouts/ContentFooter.vue | 1 - frontend/src/pages/ForgotPassword.vue | 1 - frontend/src/pages/RegisterCommunity.vue | 1 - frontend/src/pages/ResetPassword.vue | 1 - 46 files changed, 897 insertions(+), 996 deletions(-) diff --git a/frontend/src/assets/scss/custom/_variables.scss b/frontend/src/assets/scss/custom/_variables.scss index 8d698702c..a17320d1d 100644 --- a/frontend/src/assets/scss/custom/_variables.scss +++ b/frontend/src/assets/scss/custom/_variables.scss @@ -1,10 +1,8 @@ - -// // Variables -// // Global settings @import "gradido-custom/global"; + // $enable-caret: true !default; // $enable-rounded: true !default; // $enable-shadows: true !default; @@ -13,9 +11,9 @@ // $enable-grid-classes: true !default; // $enable-print-styles: true !default; - // Color system @import "gradido-custom/color"; + // $white: #fff !default; // $gray-100: #f6f9fc !default; // $gray-200: #e9ecef !default; @@ -27,7 +25,7 @@ // $gray-800: #32325d !default; // Line heading color // $gray-900: #212529 !default; // $black: #000 !default; -// + // $grays: () !default; // $grays: map-merge(( // "100": $gray-100, @@ -40,7 +38,7 @@ // "800": $gray-800, // "900": $gray-900 // ), $grays); -// + // $blue: #5e72e4 !default; // $indigo: #5603ad !default; // $purple: #8965e0 !default; @@ -51,7 +49,7 @@ // $green: #2dce89 !default; // $teal: #11cdef !default; // $cyan: #2bffc6 !default; -// + // $colors: () !default; // $colors: map-merge(( // "blue": $blue, @@ -70,7 +68,7 @@ // "lighter": $gray-200, // "gray-dark": $gray-800 // ), $colors); -// + // $default: #172b4d !default; // $primary: #5e72e4 !default; // $secondary: #f7fafc !default; @@ -81,7 +79,7 @@ // $light: $gray-500 !default; // $dark: $gray-900 !default; // $darker: darken($gray-900, 15%) !default; -// + // $facebook: #3b5999 !default; // $twitter: #1da1f2 !default; // $google-plus: #dd4b39 !default; @@ -91,7 +89,7 @@ // $slack: #3aaf85 !default; // $dribbble: #ea4c89 !default; // $github: #222222 !default; -// + // $theme-colors: () !default; // $theme-colors: map-merge(( // "default": $default, @@ -106,7 +104,7 @@ // "dark": $dark, // "darker": $darker // ), $theme-colors); -// + // $brand-colors: () !default; // $brand-colors: map-merge(( // "facebook": $facebook, @@ -119,7 +117,7 @@ // "dribbble": $dribbble, // "github": $github // ), $brand-colors); -// + // $shape-colors: () !default; // $shape-colors: map-merge(( // "default": #32325d, @@ -127,9 +125,9 @@ // "secondary": #24b47e, // "neutral": #e9ecef, // "blue-gray": #b2cbe1, -// + // ), $shape-colors); -// + // $shapes-primary-colors: () !default; // $shapes-primary-colors: map-merge(( // "step-1-gradient-bg": #281483, @@ -141,7 +139,7 @@ // "span-4-bg": #25ddf5, // "span-5-bg": #1fa2ff // ), $shapes-primary-colors); -// + // $shapes-default-colors: () !default; // $shapes-default-colors: map-merge(( // "step-1-gradient-bg": #7795f8, @@ -153,7 +151,7 @@ // "span-4-bg": #76eea7, // "span-5-bg": #6adaff // ), $shapes-default-colors); -// + // $shapes-light-colors: () !default; // $shapes-light-colors: map-merge(( // "step-1-gradient-bg": #b2cbe1, @@ -165,7 +163,7 @@ // "span-4-bg": #74e4a2, // "span-5-bg": #008169 // ), $shapes-light-colors); -// + // $shapes-dark-colors: () !default; // $shapes-dark-colors: map-merge(( // "step-1-gradient-bg": #32325d, @@ -177,30 +175,29 @@ // "span-4-bg": #d782d9, // "span-5-bg": #008169 // ), $shapes-dark-colors); -// -// + // // Translucent color variations // $translucent-color-opacity: .6 !default; -// + // // Set a specific jump point for requesting color jumps // $theme-color-interval: 8% !default; -// -// // The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. + +// // The yiq lightness value that determines when the lightness of color changes +// from "dark" to "light". Acceptable values are between 0 and 255. // $yiq-contrasted-threshold: 200 !default; -// + // // Customize the light and dark text colors for use in our YIQ color contrast function. // $yiq-text-dark: $gray-900 !default; // $yiq-text-light: $white !default; -// + // // Action colors -// + // $star-rating-color: $gray-400 !default; // $star-rating-color-active: $yellow !default; -// + // $favorite-color: $yellow !default; // $like-color: $blue !default; // $love-color: $red !default; -// // Body @import "gradido-custom/body"; @@ -208,10 +205,9 @@ // $body-bg: #f8f9fe !default; // $body-color: $gray-700 !default; - - // Sections @import "gradido-custom/sections"; + // $section-colors: () !default; // $section-colors: map-merge(( // "primary": $body-bg, @@ -223,14 +219,15 @@ // Links @import "gradido-custom/links"; + // $link-color: $primary !default; // $link-decoration: none !default; // $link-hover-color: darken($link-color, 15%) !default; // $link-hover-decoration: none !default; - // Grid breakpoints @import "gradido-custom/grid-breakpoint"; + // $grid-breakpoints: ( // xs: 0, // sm: 576px, @@ -238,19 +235,17 @@ // lg: 992px, // xl: 1200px // ); -// + // @include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); // @include _assert-starts-at-zero($grid-breakpoints); -// -// + // // Grid containers // // // // Define the maximum width of `.container` for different screen sizes. - - // Spacing @import "gradido-custom/spacing"; + // $spacer: 1rem !default; // $spacers: () !default; // $spacers: map-merge(( @@ -274,10 +269,9 @@ // 8: ($spacer * 8), // 9: ($spacer * 10) // ), $spacers); -// -// + // // This variable affects the `.h-*` and `.w-*` classes. -// + // $sizes: () !default; // $sizes: map-merge(( // 25: 25%, @@ -288,406 +282,406 @@ // Components @import "gradido-custom/components"; + // $shape-height-xl: 1.5 !default; // $shape-height-lg: 1.5 !default; // $shape-height-sm: 1.5 !default; -// + // $border-width: 1px !default; // $border-color: $gray-200 !default; -// + // $border-radius: .375rem !default; // $border-radius-xl: .5rem !default; // $border-radius-lg: .4375rem !default; // $border-radius-sm: .25rem !default; -// + // $box-shadow-sm: 0 0 .5rem rgba($gray-600, .075) !default; // $box-shadow: 0 0 2rem 0 rgba($gray-600, .15) !default; // $box-shadow-lg: 0 0 3rem rgba($gray-600, .175) !default; -// + // $component-active-color: $white !default; // $component-active-bg: theme-color("primary") !default; // $component-active-border-color: theme-color("primary") !default; -// + // $component-hover-color: $gray-300 !default; // $component-hover-bg: $gray-300 !default; // $component-hover-border-color: $gray-300 !default; -// + // $caret-width: .3em !default; // $transition-base: all .15s ease !default; // $transition-fade: opacity .15s linear !default; // $transition-collapse: height .35s ease !default; - // Fonts @import "gradido-custom/fonts"; + // $font-family-sans-serif: Open Sans, sans-serif !default; // $font-family-base: $font-family-sans-serif !default; -// + // $font-size-base: 1rem !default; // Assumes the browser default, typically `16px` // $font-size-xl: ($font-size-base * 1.5); // $font-size-lg: ($font-size-base * 1.25); // $font-size-sm: ($font-size-base * .875); // $font-size-xs: ($font-size-base * .75); -// + // $font-weight-light: 300 !default; // $font-weight-normal: 400 !default; // $font-weight-bold: 600 !default; // $font-weight-extra-bold: 700 !default; -// + // $font-weight-base: $font-weight-normal !default; // $line-height-base: 1.5 !default; // $shape-height-base: 1.5 !default; -// -// + // $h1-font-size: $font-size-base * 1.625 !default; // $h2-font-size: $font-size-base * 1.25 !default; // $h3-font-size: $font-size-base * 1.0625 !default; // $h4-font-size: $font-size-base * .9375 !default; // $h5-font-size: $font-size-base * .8125 !default; // $h6-font-size: $font-size-base * .625 !default; -// -// + // $headings-margin-bottom: ($spacer / 2); // $headings-font-family: inherit !default; // $headings-font-weight: $font-weight-bold !default; // $headings-line-height: 1.5 !default; // $headings-color: $gray-800 !default; -// + // $heading-letter-spacing: .025em !default; // $heading-font-size: .95rem !default; // $heading-text-transform: uppercase !default; // $heading-font-weight: $headings-font-weight !default; -// + // $heading-title-letter-spacing: .025em !default; // $heading-title-font-size: 1.375rem !default; // $heading-title-font-weight: $font-weight-bold !default; // $heading-title-text-transform: uppercase !default; -// + // $heading-section-letter-spacing: .025em !default; // $heading-section-font-size: 1.375rem !default; // $heading-section-font-weight: $font-weight-bold !default; // $heading-section-text-transform: uppercase !default; -// + // $display1-size: 3.3rem !default; // $display2-size: 2.75rem !default; // $display3-size: 2.1875rem !default; // $display4-size: 1.6275rem !default; -// + // $display1-weight: $font-weight-bold !default; // $display2-weight: $font-weight-bold !default; // $display3-weight: $font-weight-bold !default; // $display4-weight: $font-weight-bold !default; // $display-line-height: $headings-line-height !default; -// + // $paragraph-font-size: 1rem !default; // $paragraph-font-weight: 300 !default; // $paragraph-line-height: 1.7 !default; -// + // $lead-font-size: ($paragraph-font-size * 1.25) !default; // $lead-font-weight: 300 !default; -// + // $small-font-size: 80% !default; -// + // $text-muted: $gray-600 !default; -// + // $blockquote-small-color: $gray-600 !default; // $blockquote-font-size: ($font-size-base * 1.25) !default; -// + // $hr-border-color: rgba($black, .1); // $hr-border-width: $border-width !default; -// -// $mark-padding: .2em !default; -// -// $dt-font-weight: $font-weight-bold !default; -// -// $list-inline-padding: .5rem !default; -// -// $mark-bg: #fcf8e3 !default; -// -// $hr-margin-y: $spacer * 2 !default; +// $mark-padding: .2em !default; + +// $dt-font-weight: $font-weight-bold !default; + +// $list-inline-padding: .5rem !default; + +// $mark-bg: #fcf8e3 !default; + +// $hr-margin-y: $spacer * 2 !default; // Icons @import "gradido-custom/icons"; + // $icon-size: 3rem !default; // $icon-size-xl: 5rem !default; // $icon-size-lg: 4rem !default; // $icon-size-sm: 2rem !default; - // Tables @import "gradido-custom/tables"; + // $table-cell-padding: 1rem !default; // $table-cell-padding-sm: .5rem !default; -// + // $table-bg: transparent !default; // $table-accent-bg: rgba($black, .05) !default; // $table-hover-bg: $gray-100 !default; // $table-active-bg: $table-hover-bg !default; -// + // $table-border-width: $border-width !default; // $table-border-color: $gray-200 !default; -// + // $table-head-bg: $gray-100 !default; // $table-head-color: $gray-600 !default; // $table-head-spacer-y: .75rem !default; -// + // $table-head-font-size: .65rem !default; // $table-head-font-weight: $font-weight-bold !default; // $table-head-text-transform: uppercase !default; // $table-head-letter-spacing: 1px !default; -// + // $table-body-font-size: .8125rem !default; -// + // $table-dark-bg: theme-color("default") !default; // $table-dark-accent-bg: rgba($white, .05) !default; // $table-dark-hover-bg: rgba($white, .075) !default; // $table-dark-border-color: lighten(theme-color("default"), 7%) !default; // $table-dark-color: $body-bg !default; -// + // $table-dark-head-bg: lighten(theme-color("default"), 4%) !default; // $table-dark-head-color: lighten(theme-color("default"), 35%) !default; // Buttons + Forms @import "gradido-custom/buttons-forms"; + // $input-btn-padding-y: .625rem !default; // $input-btn-padding-x: .75rem !default; // $input-btn-line-height: $shape-height-base !default; -// + // $input-btn-focus-width: 0 !default; // $input-btn-focus-color: rgba($component-active-bg, 1) !default; // $input-btn-focus-box-shadow: none !default; -// + // $input-btn-padding-y-sm: .25rem !default; // $input-btn-padding-x-sm: .5rem !default; // $input-btn-line-height-sm: $shape-height-sm !default; -// + // $input-btn-padding-y-lg: .875rem !default; // $input-btn-padding-x-lg: 1rem !default; // $input-btn-line-height-lg: $shape-height-lg !default; -// + // $input-btn-border-width: 1px !default; -// + // $input-btn-font-size-sm: .75rem !default; // $input-btn-font-size: .875rem !default; // $input-btn-font-size-lg: .875rem !default; - // Buttons @import "gradido-custom/buttons"; + // $btn-padding-y: $input-btn-padding-y !default; // $btn-padding-x: $input-btn-padding-x + 0.5 !default; // $btn-line-height: $input-btn-line-height !default; -// + // $btn-padding-y-sm: $input-btn-padding-y-sm !default; // $btn-padding-x-sm: $input-btn-padding-x-sm !default; // $btn-line-height-sm: $input-btn-line-height-sm !default; -// + // $btn-padding-y-lg: $input-btn-padding-y-lg !default; // $btn-padding-x-lg: $input-btn-padding-x-lg !default; // $btn-line-height-lg: $input-btn-line-height-lg !default; -// + // $btn-border-width: $input-btn-border-width !default; -// + // $btn-font-weight: 600 !default; -// + // $btn-text-transform: none !default; -// -// + // $btn-letter-spacing: .025em !default; // $btn-box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08) !default; // $btn-hover-box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.08) !default; // $btn-focus-box-shadow: $btn-hover-box-shadow !default; // $btn-focus-width: $input-btn-focus-width !default; // $btn-active-box-shadow: none !default; -// -// $btn-hover-translate-y: -1px !default; +// $btn-hover-translate-y: -1px !default; // Input @import "gradido-custom/input"; + // $input-padding-y: $input-btn-padding-y !default; // $input-padding-x: $input-btn-padding-x !default; // $input-line-height: $input-btn-line-height !default; -// + // $input-padding-y-sm: $input-btn-padding-y-sm !default; // $input-padding-x-sm: $input-btn-padding-x-sm !default; // $input-line-height-sm: $input-btn-line-height-sm !default; -// + // $input-padding-y-lg: $input-btn-padding-y-lg !default; // $input-padding-x-lg: $input-btn-padding-x-lg !default; // $input-line-height-lg: $input-btn-line-height-lg !default; -// + // $input-border-radius: $border-radius !default; // $input-border-radius-xl: $border-radius-xl !default; // $input-border-radius-lg: $border-radius-lg !default; // $input-border-radius-sm: $border-radius-sm !default; -// + // $input-bg: $white !default; // $input-disabled-bg: $gray-200 !default; -// + // $input-muted-bg: #F7FAFE !default; // $input-focus-muted-bg: lighten($input-muted-bg, 1%) !default; // $input-alternative-box-shadow: 0 1px 3px rgba(50,50,93,.15), 0 1px 0 rgba(0,0,0,.02) !default; // $input-focus-alternative-box-shadow: 0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08) !default; -// + // $input-color: $gray-600 !default; // $input-border-color: #cad1d7 !default; // $input-border-width: $input-btn-border-width !default; // $input-box-shadow: none !default; // 0 1px 3px 0 $gray-400 !default; -// + // $input-focus-bg: $white !default; // $input-focus-border-color: rgba(50,151,211,.25) !default; // $input-focus-color: $input-color !default; // $input-focus-width: 0 !default; // $input-focus-box-shadow: none !default; //0 1px 3px 0 $gray-500 !default; -// + // $input-placeholder-color: $gray-500 !default; // $input-focus-placeholder-color: $gray-500 !default; -// -// $input-height-border: $input-border-width * 2 !default; -// -// $input-transition: all .2s cubic-bezier(0.68, -0.55, 0.265, 1.55) !default; +// $input-height-border: $input-border-width * 2 !default; + +// $input-transition: all .2s cubic-bezier(0.68, -0.55, 0.265, 1.55) !default; // Input groups @import "gradido-custom/input-groups"; + // $input-group-addon-color: $input-placeholder-color !default; // $input-group-addon-bg: $input-bg !default; // $input-group-addon-border-color: $input-border-color !default; -// + // $input-group-addon-focus-color: $input-focus-color !default; // $input-group-addon-focus-bg: $input-focus-bg !default; // $input-group-addon-focus-border-color: $input-focus-border-color !default; - // Form group @import "gradido-custom/form-groups"; -// $form-group-margin-bottom: 1.5rem !default; +// $form-group-margin-bottom: 1.5rem !default; // Custom forms @import "gradido-custom/custom-forms"; + // custom-control-gutter: 1.75rem !default; // custom-control-spacer-x: 1rem !default; // custom-control-indicator-size: 1.25rem !default; -// + // custom-control-indicator-bg: $input-bg !default; // custom-control-indicator-border-width: 1px !default; // custom-control-indicator-border-color: $input-border-color !default; // custom-control-indicator-box-shadow: none !default; -// + // custom-control-indicator-focus-box-shadow: $custom-control-indicator-box-shadow !default; -// + // custom-control-indicator-hover-color: $component-hover-color !default; // custom-control-indicator-hover-bg: $component-hover-bg !default; // custom-control-indicator-hover-border-color: $component-hover-border-color !default; -// + // custom-control-indicator-active-color: $component-active-color !default; // custom-control-indicator-active-bg: $component-active-bg !default; // custom-control-indicator-active-border-color: $component-active-border-color !default; // custom-control-indicator-active-box-shadow: $custom-control-indicator-box-shadow !default; -// + // custom-control-indicator-checked-color: $component-active-color !default; // custom-control-indicator-checked-bg: $component-active-bg !default; // custom-control-indicator-checked-border-color: $component-active-border-color !default; // custom-control-indicator-checked-box-shadow: $custom-control-indicator-box-shadow !default; // custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; -// + // custom-control-indicator-disabled-bg: $gray-200 !default; // custom-control-label-disabled-color: $gray-600 !default; -// + // custom-checkbox-indicator-border-radius: $border-radius-sm !default; // //$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml !default;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default; // Custom toggle @import "gradido-custom/custom-toogle"; + // $custom-toggle-width: 50px !default; // $custom-toggle-slider-bg: $gray-200 !default; // $custom-toggle-checked-bg: theme-color("primary") !default; // Form validation @import "gradido-custom/form-validation"; + // $form-feedback-valid-bg: lighten($success, 15%) !default; // $form-feedback-valid-color: theme-color("success") !default; // $form-feedback-invalid-bg: lighten($warning, 15%) !default; // $form-feedback-invalid-color: theme-color("warning") !default; - // Allows for customizing button radius independently from global border radius -$btn-border-radius: $input-border-radius !default; -$btn-border-radius-xl: $input-border-radius-xl !default; -$btn-border-radius-lg: $input-border-radius-lg !default; -$btn-border-radius-sm: $input-border-radius !default; - +$btn-border-radius: $input-border-radius !default; +$btn-border-radius-xl: $input-border-radius-xl !default; +$btn-border-radius-lg: $input-border-radius-lg !default; +$btn-border-radius-sm: $input-border-radius !default; // Chart @import "gradido-custom/chart"; + // $chart-height: 350px !default; // $chart-height-sm: 230px !default; -// + // $chart-legend-margin-top: 2.5rem !default; // $chart-legend-font-size: $font-size-sm !default; // $chart-legend-color: $text-muted !default; // $chart-legend-height: $chart-legend-margin-top + $chart-legend-font-size * $line-height-base !default; - - - // Map @import "gradido-custom/map"; -// $map-height: 500px !default; +// $map-height: 500px !default; // No UI Slider @import "gradido-custom/nouislider"; + // $noui-target-bg: #eceeef !default; // $noui-target-thickness: 5px !default; // $noui-target-border-radius: 5px !default; // $noui-target-border-color: 0 !default; // $noui-target-box-shadow: inset 0 1px 2px rgba(90,97,105,.1) !default; -// + // $noui-slider-connect-bg: $primary !default; // $noui-slider-connect-disabled-bg: #b2b2b2 !default; -// + // $noui-handle-width: 15px !default; // $noui-handle-bg: theme-color("primary") !default; // $noui-handle-border: 0 !default; // $noui-handle-border-radius: 100% !default; -// -// $noui-origin-border-radius: 2px !default; +// $noui-origin-border-radius: 2px !default; // Dropdown @import "gradido-custom/dropdown"; + // $dropdown-bg: $white !default; // $dropdown-border-width: 0 !default; // $dropdown-border-color: rgba($black, .15) !default; // $dropdown-border-radius: $border-radius-lg !default; -// $dropdown-box-shadow: 0 50px 100px rgba(50, 50, 93, .1), 0 15px 35px rgba(50, 50, 93, .15), 0 5px 15px rgba(0, 0, 0, .1) !default; - +// $dropdown-box-shadow: 0 50px 100px rgba(50, 50, 93, .1), +// 0 15px 35px rgba(50, 50, 93, .15), +// 0 5px 15px rgba(0, 0, 0, .1) !default; // Navs @import "gradido-custom/navs"; + // $nav-link-padding-y: .25rem !default; // $nav-link-padding-x: .75rem !default; // $nav-link-color: $gray-700 !default; // $nav-link-hover-color: theme-color("primary") !default; // $nav-link-disabled-color: $gray-600 !default; -// + // $nav-pills-padding-y: .75rem !default; // $nav-pills-padding-x: 1rem !default; -// + // $nav-pills-space-x: 1rem !default; -// + // $nav-pills-bg: $white !default; // $nav-pills-border-width: 1px !default; // $nav-pills-border-color: theme-color("primary") !default; // $nav-pills-border-radius: $border-radius !default; -// + // $nav-pills-link-color: theme-color("primary") !default; // $nav-pills-link-hover-color: darken(theme-color("primary"), 5%) !default; // $nav-pills-link-active-color: color-yiq(theme-color("primary")) !default; @@ -696,25 +690,26 @@ $btn-border-radius-sm: $input-border-radius !default; // Navbar @import "gradido-custom/navbar"; + // $navbar-transition: all .15s linear !default; // $navbar-padding-y: 1rem !default; // $navbar-padding-x: 1rem !default; -// + // $navbar-nav-link-padding-x: 1rem !default; // $navbar-nav-link-padding-y: 1rem !default; -// + // $navbar-nav-link-font-size: .9rem !default; // $navbar-nav-link-font-weight: 400 !default; // $navbar-nav-link-text-transform: normal !default; // $navbar-nav-link-letter-spacing: 0 !default; // $navbar-nav-link-border-radius: $border-radius !default; -// + // $navbar-search-width: 270px !default; // $navbar-search-bg: transparent !default; -// + // $navbar-search-border-radius: 2rem !default; // $navbar-search-border-width: 2px !default; -// + // $navbar-dark-bg: transparent !default; // $navbar-dark-hover-bg: rgba(255, 255, 255, .1) !default; // $navbar-dark-active-bg: rgba(255, 255, 255, .1) !default; @@ -723,12 +718,12 @@ $btn-border-radius-sm: $input-border-radius !default; // $navbar-dark-active-color: rgba($white, .65) !default; // $navbar-dark-disabled-color: rgba($white, .25) !default; // $navbar-dark-toggler-border-color: transparent !default; -// + // $navbar-search-dark-border-color: rgba(255, 255, 255, .6) !default; // $navbar-search-dark-color: rgba(255, 255, 255, .6) !default; // $navbar-search-dark-focus-border-color: rgba(255, 255, 255, .9) !default; // $navbar-search-dark-focus-color: rgba(255, 255, 255, .9) !default; -// + // $navbar-light-bg: transparent !default; // $navbar-light-hover-bg: rgba(0, 0, 0, .1) !default; // $navbar-light-active-bg: rgba(0, 0, 0, .1) !default; @@ -738,77 +733,74 @@ $btn-border-radius-sm: $input-border-radius !default; // $navbar-light-active-color: rgba($black, .9) !default; // $navbar-light-disabled-color: rgba($black, .3) !default; // $navbar-light-toggler-border-color: transparent !default; -// + // $navbar-search-light-border-color: rgba(0, 0, 0, .6) !default; // $navbar-search-light-color: rgba(0, 0, 0, .6) !default; // $navbar-search-light-focus-border-color: rgba(0, 0, 0, .9) !default; // $navbar-search-light-focus-color: rgba(0, 0, 0, .9) !default; - - // Vertical navbar @import "gradido-custom/vertical-navbar"; + // $navbar-vertical-box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15) !important; // $navbar-vertical-width: 250px !default; // $navbar-vertical-padding-x: 1.5rem !default; // $navbar-vertical-nav-link-padding-x: 1.5rem !default; // $navbar-vertical-nav-link-padding-y: .65rem !default; -// + // $navbar-icon-min-width: 2.25rem !default; -// + // $navbar-breadcrumb-padding-y: $nav-link-padding-y !default; // $navbar-breadcrumb-padding-x: 0 !default; -// + // $navbar-light-bg: $white !default; // $navbar-light-border-color: $border-color !default; - - - // Main content @import "gradido-custom/main-content"; + // $main-content-padding-y: 40px !default; // $main-content-padding-x: 24px !default; // in px to combine with $grid-gutter-width - // Alerts @import "gradido-custom/alerts"; + // $alert-padding-y: 1rem !default; // $alert-padding-x: 1.5rem !default; // $alert-border-radius: $border-radius !default; -// + // $alert-bg-level: -2 !default; // $alert-border-level: -2 !default; // $alert-color-level: 0 !default; - // List group @import "gradido-custom/list-group"; + // $list-group-bg: $white !default; // $list-group-border-color: $border-color !default; //rgba($black, .125); // $list-group-border-width: $border-width !default; // $list-group-border-radius: $border-radius !default; -// + // $list-group-item-padding-y: 1rem !default; // $list-group-item-padding-x: 1rem !default; -// + // $list-group-hover-bg: $gray-100 !default; // $list-group-active-color: $component-active-color !default; // $list-group-active-bg: $component-active-bg !default; // $list-group-active-border-color: $list-group-active-bg !default; -// + // $list-group-disabled-color: $gray-600 !default; // $list-group-disabled-bg: $list-group-bg !default; -// + // $list-group-action-color: $gray-700 !default; // $list-group-action-hover-color: $list-group-action-color !default; -// + // $list-group-action-active-color: $list-group-action-color !default; // $list-group-action-active-bg: $gray-200 !default; - // Close @import "gradido-custom/close"; + // $close-font-size: $font-size-base * 1.5 !default; // $close-font-weight: $font-weight-bold !default; // $close-bg: transparent !default; @@ -817,9 +809,9 @@ $btn-border-radius-sm: $input-border-radius !default; // $close-hover-color: rgba(0, 0, 0, .9) !default; // $close-text-shadow: none !default; - // Popovers @import "gradido-custom/popovers"; + // $popover-font-size: $font-size-sm !default; // $popover-bg: $white !default; // $popover-max-width: 276px !default; @@ -827,39 +819,40 @@ $btn-border-radius-sm: $input-border-radius !default; // $popover-border-color: rgba($black, .05) !default; // $popover-border-radius: $border-radius-lg !default; // $popover-box-shadow: 0px .5rem 2rem 0px rgba($black, .2) !default; -// + // $popover-header-bg: $popover-bg !default; // $popover-header-color: $headings-color !default; // $popover-header-padding-y: .5rem !default; // $popover-header-padding-x: .95rem !default; -// + // $popover-body-color: $body-color !default; // $popover-body-padding-y: $popover-header-padding-y !default; // $popover-body-padding-x: $popover-header-padding-x !default; -// + // $popover-arrow-width: 1.5rem !default; // $popover-arrow-height: .75rem !default; // $popover-arrow-color: $popover-bg !default; -// -// $popover-arrow-outer-color: transparent !default; +// $popover-arrow-outer-color: transparent !default; // Badges @import "gradido-custom/badges"; + // $badge-font-size: 66% !default; // $badge-font-weight: $font-weight-bold !default; // $badge-padding-y: .35rem !default; // $badge-padding-x: .375rem !default; // $badge-border-radius: $border-radius !default; // $badge-text-transfom: uppercase; -// + // $badge-pill-padding-x: .875em !default; // $badge-pill-border-radius: 10rem !default; -// + // $badge-circle-size: 2rem !default; // Pagination @import "gradido-custom/pagination"; + // // $pagination-padding-y: .5rem !default; // // $pagination-padding-x: .75rem !default; // // $pagination-padding-y-sm: .25rem !default; @@ -867,30 +860,30 @@ $btn-border-radius-sm: $input-border-radius !default; // // $pagination-padding-y-lg: .75rem !default; // // $pagination-padding-x-lg: 1.5rem !default; // // $pagination-line-height: 1.25 !default; -// + // $pagination-color: $gray-600 !default; // $pagination-bg: $white !default; // $pagination-border-width: $border-width !default; // $pagination-border-color: $gray-300 !default; -// + // //$pagination-focus-box-shadow: $btn-hover-box-shadow !default; -// + // $pagination-hover-color: $gray-600 !default; // $pagination-hover-bg: $gray-300 !default; // $pagination-hover-border-color: $gray-300 !default; -// + // $pagination-active-color: $component-active-color !default; // $pagination-active-bg: $component-active-bg !default; // $pagination-active-border-color: $pagination-active-bg !default; // $pagination-active-box-shadow: $btn-hover-box-shadow !default; -// + // $pagination-disabled-color: $gray-600 !default; // $pagination-disabled-bg: $white !default; // $pagination-disabled-border-color: $gray-300 !default; - // Cards @import "gradido-custom/cards"; + // $card-spacer-y: 1.25rem !default; // $card-spacer-x: 1.5rem !default; // $card-border-width: $border-width !default; @@ -899,12 +892,12 @@ $btn-border-radius-sm: $input-border-radius !default; // $card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default; // $card-cap-bg: $white !default; // $card-bg: $white !default; -// + // $card-img-overlay-padding: 1.25rem !default; -// + // //$card-group-margin: ($grid-gutter-width / 2); // //$card-deck-margin: $card-group-margin !default; -// + // $card-columns-count: 3 !default; // $card-columns-gap: 1.25rem !default; // $card-columns-margin: $card-spacer-y !default; @@ -915,21 +908,22 @@ $btn-border-radius-sm: $input-border-radius !default; // Modals @import "gradido-custom/modals"; + // $modal-inner-padding: 1.5rem !default; -// + // $modal-lg: 800px !default; // $modal-md: 500px !default; // $modal-sm: 380px !default; -// + // $modal-title-line-height: 1.1; -// + // $modal-content-bg: $white !default; // $modal-content-border-color: rgba($black, .2) !default; // $modal-content-border-width: 0 !default; // $modal-content-border-radius: $border-radius-lg !default; // $modal-content-box-shadow-xs: 0 15px 35px rgba(50,50,93,.2), 0 5px 15px rgba(0,0,0,.17); // $modal-content-box-shadow-sm-up: 0 15px 35px rgba(50,50,93,.2), 0 5px 15px rgba(0,0,0,.17); -// + // $modal-backdrop-bg: $black !default; // $modal-backdrop-opacity: .16 !default; // $modal-header-border-color: $gray-200 !default; @@ -940,41 +934,40 @@ $btn-border-radius-sm: $input-border-radius !default; // Datepicker @import "gradido-custom/datepicker"; + // $datepicker-border-radius: $card-border-radius !default; // $datepicker-dropdown-padding: 20px 22px !default; -// + // $datepicker-cell-transition: $transition-base !default; // $datepicker-cell-hover-background: lighten($gray-400, 55%); // $datepicker-cell-border-radius: 50% !default; // $datepicker-cell-width: 36px !default; // $datepicker-cell-height: 36px !default; -// + // $datepicker-disabled-cell-color: $gray-300 !default; // $datepicker-disabled-old-new-color: $gray-500 !default; -// + // $datepicker-header-cell-border-radius: $border-radius !default; -// + // $datepicker-active-color: $white !default; // $datepicker-active-background: theme-color("primary") !default; // $datepicker-active-box-shadow: none !default; -// + // $datepicker-range-background: theme-color("primary") !default; // $datepicker-range-cell-focused-background: darken($datepicker-range-background, 5%); // $datepicker-range-color: $white !default; // $datepicker-range-highlighted-bg: $gray-200 !default; -// + // $datepicker-dropdown-border: lighten($gray-400, 40%); // $datepicker-dropdown-bg: $white !default; // $datepicker-highlighted-bg: $datepicker-active-background !default; - // Footer @import "gradido-custom/footer"; // $footer-padding-y: 2.5rem; // $footer-padding-x: 0; -// -// + // $footer-link-font-size: .85rem !default; // $footer-bg: theme-color("secondary") !default; // $footer-color: $gray-600 !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_alerts.scss b/frontend/src/assets/scss/custom/gradido-custom/_alerts.scss index ce2659c33..a5d3824cf 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_alerts.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_alerts.scss @@ -3,8 +3,6 @@ $alert-padding-y: 1rem !default; $alert-padding-x: 1.5rem !default; $alert-border-radius: $border-radius !default; - $alert-bg-level: -2 !default; $alert-border-level: -2 !default; $alert-color-level: 0 !default; - diff --git a/frontend/src/assets/scss/custom/gradido-custom/_badges.scss b/frontend/src/assets/scss/custom/gradido-custom/_badges.scss index 6c2f64fb1..3796a34be 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_badges.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_badges.scss @@ -1,14 +1,11 @@ - // Badges -$badge-font-size: 66% !default; -$badge-font-weight: $font-weight-bold !default; -$badge-padding-y: .35rem !default; -$badge-padding-x: .375rem !default; -$badge-border-radius: $border-radius !default; -$badge-text-transfom: uppercase; - -$badge-pill-padding-x: .875em !default; -$badge-pill-border-radius: 10rem !default; - -$badge-circle-size: 2rem !default; +$badge-font-size: 66% !default; +$badge-font-weight: $font-weight-bold !default; +$badge-padding-y: 0.35rem !default; +$badge-padding-x: 0.375rem !default; +$badge-border-radius: $border-radius !default; +$badge-text-transfom: uppercase; +$badge-pill-padding-x: 0.875em !default; +$badge-pill-border-radius: 10rem !default; +$badge-circle-size: 2rem !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_body.scss b/frontend/src/assets/scss/custom/gradido-custom/_body.scss index 02f0f4e52..df8f91f5b 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_body.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_body.scss @@ -1,5 +1,4 @@ // Body - $body-bg: #f8f9fe !default; $body-color: $gray-700 !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_buttons-forms.scss b/frontend/src/assets/scss/custom/gradido-custom/_buttons-forms.scss index 5b33bdbfb..92992c070 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_buttons-forms.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_buttons-forms.scss @@ -1,23 +1,18 @@ // Buttons + Forms -$input-btn-padding-y: .625rem !default; -$input-btn-padding-x: .75rem !default; -$input-btn-line-height: $shape-height-base !default; - -$input-btn-focus-width: 0 !default; -$input-btn-focus-color: rgba($component-active-bg, 1) !default; -$input-btn-focus-box-shadow: none !default; - -$input-btn-padding-y-sm: .25rem !default; -$input-btn-padding-x-sm: .5rem !default; -$input-btn-line-height-sm: $shape-height-sm !default; - -$input-btn-padding-y-lg: .875rem !default; -$input-btn-padding-x-lg: 1rem !default; -$input-btn-line-height-lg: $shape-height-lg !default; - -$input-btn-border-width: 1px !default; - -$input-btn-font-size-sm: .75rem !default; -$input-btn-font-size: .875rem !default; -$input-btn-font-size-lg: .875rem !default; +$input-btn-padding-y: 0.625rem !default; +$input-btn-padding-x: 0.75rem !default; +$input-btn-line-height: $shape-height-base !default; +$input-btn-focus-width: 0 !default; +$input-btn-focus-color: rgba($component-active-bg, 1) !default; +$input-btn-focus-box-shadow: none !default; +$input-btn-padding-y-sm: 0.25rem !default; +$input-btn-padding-x-sm: 0.5rem !default; +$input-btn-line-height-sm: $shape-height-sm !default; +$input-btn-padding-y-lg: 0.875rem !default; +$input-btn-padding-x-lg: 1rem !default; +$input-btn-line-height-lg: $shape-height-lg !default; +$input-btn-border-width: 1px !default; +$input-btn-font-size-sm: 0.75rem !default; +$input-btn-font-size: 0.875rem !default; +$input-btn-font-size-lg: 0.875rem !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss b/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss index 5a2e49e3e..3d16e762d 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_buttons.scss @@ -1,35 +1,25 @@ // Buttons -$btn-padding-y: $input-btn-padding-y !default; -$btn-padding-x: $input-btn-padding-x + 0.5 !default; -$btn-line-height: $input-btn-line-height !default; - -$btn-padding-y-sm: $input-btn-padding-y-sm !default; -$btn-padding-x-sm: $input-btn-padding-x-sm !default; -$btn-line-height-sm: $input-btn-line-height-sm !default; - -$btn-padding-y-lg: $input-btn-padding-y-lg !default; -$btn-padding-x-lg: $input-btn-padding-x-lg !default; -$btn-line-height-lg: $input-btn-line-height-lg !default; - -$btn-border-width: $input-btn-border-width !default; - -$btn-font-weight: 600 !default; - -$btn-text-transform: none !default; - - -$btn-letter-spacing: .025em !default; -$btn-box-shadow: 0 4px 6px rgba(50,50,93,.11), 0 1px 3px rgba(0,0,0,.08) !default; -$btn-hover-box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.08) !default; -$btn-focus-box-shadow: $btn-hover-box-shadow !default; -$btn-focus-width: $input-btn-focus-width !default; -$btn-active-box-shadow: none !default; - -$btn-hover-translate-y: -1px !default; - - +$btn-padding-y: $input-btn-padding-y !default; +$btn-padding-x: $input-btn-padding-x + 0.5 !default; +$btn-line-height: $input-btn-line-height !default; +$btn-padding-y-sm: $input-btn-padding-y-sm !default; +$btn-padding-x-sm: $input-btn-padding-x-sm !default; +$btn-line-height-sm: $input-btn-line-height-sm !default; +$btn-padding-y-lg: $input-btn-padding-y-lg !default; +$btn-padding-x-lg: $input-btn-padding-x-lg !default; +$btn-line-height-lg: $input-btn-line-height-lg !default; +$btn-border-width: $input-btn-border-width !default; +$btn-font-weight: 600 !default; +$btn-text-transform: none !default; +$btn-letter-spacing: 0.025em !default; +$btn-box-shadow: 0 4px 6px rgb(50 50 93 / 11%), 0 1px 3px rgb(0 0 0 / 8%) !default; +$btn-hover-box-shadow: 0 7px 14px rgb(50 50 93 / 10%), 0 3px 6px rgb(0 0 0 / 8%) !default; +$btn-focus-box-shadow: $btn-hover-box-shadow !default; +$btn-focus-width: $input-btn-focus-width !default; +$btn-active-box-shadow: none !default; +$btn-hover-translate-y: -1px !default; .btn-outline-secondary { - color: #4385b1 !important; - } + color: #4385b1 !important; +} diff --git a/frontend/src/assets/scss/custom/gradido-custom/_cards.scss b/frontend/src/assets/scss/custom/gradido-custom/_cards.scss index 566031a26..fe112f8b7 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_cards.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_cards.scss @@ -1,19 +1,18 @@ // Cards -$card-spacer-y: 1.25rem !default; -$card-spacer-x: 1.5rem !default; -$card-border-width: $border-width !default; -$card-border-radius: $border-radius !default; -$card-border-color: rgba($black, .05) !default; -$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default; -$card-cap-bg: $white !default; -$card-bg: $white !default; +$card-spacer-y: 1.25rem !default; +$card-spacer-x: 1.5rem !default; +$card-border-width: $border-width !default; +$card-border-radius: $border-radius !default; +$card-border-color: rgba($black, 0.05) !default; +$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default; +$card-cap-bg: $white !default; +$card-bg: $white !default; +$card-img-overlay-padding: 1.25rem !default; -$card-img-overlay-padding: 1.25rem !default; +// $card-group-margin: ($grid-gutter-width / 2); +// $card-deck-margin: $card-group-margin !default; -//$card-group-margin: ($grid-gutter-width / 2); -//$card-deck-margin: $card-group-margin !default; - -$card-columns-count: 3 !default; -$card-columns-gap: 1.25rem !default; -$card-columns-margin: $card-spacer-y !default; +$card-columns-count: 3 !default; +$card-columns-gap: 1.25rem !default; +$card-columns-margin: $card-spacer-y !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_chart.scss b/frontend/src/assets/scss/custom/gradido-custom/_chart.scss index 0b497e283..95e884d49 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_chart.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_chart.scss @@ -2,7 +2,6 @@ $chart-height: 350px !default; $chart-height-sm: 230px !default; - $chart-legend-margin-top: 2.5rem !default; $chart-legend-font-size: $font-size-sm !default; $chart-legend-color: $text-muted !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_close.scss b/frontend/src/assets/scss/custom/gradido-custom/_close.scss index 41870d798..346372aa7 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_close.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_close.scss @@ -1,9 +1,9 @@ // Close -$close-font-size: $font-size-base * 1.5 !default; -$close-font-weight: $font-weight-bold !default; -$close-bg: transparent !default; -$close-hover-bg: transparent !default; -$close-color: rgba(0, 0, 0, .6) !default !default; -$close-hover-color: rgba(0, 0, 0, .9) !default; -$close-text-shadow: none !default; \ No newline at end of file +$close-font-size: $font-size-base * 1.5 !default; +$close-font-weight: $font-weight-bold !default; +$close-bg: transparent !default; +$close-hover-bg: transparent !default; +$close-color: rgb(0 0 0 / 60%) !default !default; +$close-hover-color: rgb(0 0 0 / 90%) !default; +$close-text-shadow: none !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_color.scss b/frontend/src/assets/scss/custom/gradido-custom/_color.scss index b9749091a..d05706626 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_color.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_color.scss @@ -1,8 +1,6 @@ - - // Color system -$white: #fff !default; +$white: #fff !default; $gray-100: #f6f9fc !default; $gray-200: #e9ecef !default; $gray-300: #dee2e6 !default; @@ -12,177 +10,190 @@ $gray-600: #8898aa !default; // Line footer color $gray-700: #525f7f !default; // Line p color $gray-800: #32325d !default; // Line heading color $gray-900: #212529 !default; -$black: #000 !default; - +$black: #000 !default; $grays: () !default; -$grays: map-merge(( - "100": $gray-100, - "200": $gray-200, - "300": $gray-300, - "400": $gray-400, - "500": $gray-500, - "600": $gray-600, - "700": $gray-700, - "800": $gray-800, - "900": $gray-900 -), $grays); - -$blue: #5e72e4 !default; -$indigo: #5603ad !default; -$purple: #8965e0 !default; -$pink: #f3a4b5 !default; -$red: #f5365c !default; -$orange: #fb6340 !default; -$yellow: #ffd600 !default; -$green: #2dce89 !default; -$teal: #11cdef !default; -$cyan: #2bffc6 !default; - +$grays: map.merge( + ( + "100": $gray-100, + "200": $gray-200, + "300": $gray-300, + "400": $gray-400, + "500": $gray-500, + "600": $gray-600, + "700": $gray-700, + "800": $gray-800, + "900": $gray-900 + ), + $grays +); +$blue: #5e72e4 !default; +$indigo: #5603ad !default; +$purple: #8965e0 !default; +$pink: #f3a4b5 !default; +$red: #f5365c !default; +$orange: #fb6340 !default; +$yellow: #ffd600 !default; +$green: #2dce89 !default; +$teal: #11cdef !default; +$cyan: #2bffc6 !default; $colors: () !default; -$colors: map-merge(( - "blue": $blue, - "indigo": $indigo, - "purple": $purple, - "pink": $pink, - "red": $red, - "orange": $orange, - "yellow": $yellow, - "green": $green, - "teal": $teal, - "cyan": $cyan, - "white": $white, - "gray": $gray-600, - "light": $gray-400, - "lighter": $gray-200, - "gray-dark": $gray-800 -), $colors); - -$default: #172b4d !default; -$primary: #5e72e4 !default; -$secondary: #f7fafc !default; -$success: $green !default; -$info: $teal !default; -$warning: $orange !default; -$danger: $red !default; -$light: $gray-500 !default; -$dark: $gray-900 !default; -$darker: darken($gray-900, 15%) !default; - -$facebook: #3b5999 !default; -$twitter: #1da1f2 !default; -$google-plus: #dd4b39 !default; -$instagram: #e4405f !default; -$pinterest: #bd081c !default; -$youtube: #cd201f !default; -$slack: #3aaf85 !default; -$dribbble: #ea4c89 !default; -$github: #222222 !default; - +$colors: map.merge( + ( + "blue": $blue, + "indigo": $indigo, + "purple": $purple, + "pink": $pink, + "red": $red, + "orange": $orange, + "yellow": $yellow, + "green": $green, + "teal": $teal, + "cyan": $cyan, + "white": $white, + "gray": $gray-600, + "light": $gray-400, + "lighter": $gray-200, + "gray-dark": $gray-800 + ), + $colors +); +$default: #172b4d !default; +$primary: #5e72e4 !default; +$secondary: #f7fafc !default; +$success: $green !default; +$info: $teal !default; +$warning: $orange !default; +$danger: $red !default; +$light: $gray-500 !default; +$dark: $gray-900 !default; +$darker: color.adjust($gray-900, -15%) !default; +$facebook: #3b5999 !default; +$twitter: #1da1f2 !default; +$google-plus: #dd4b39 !default; +$instagram: #e4405f !default; +$pinterest: #bd081c !default; +$youtube: #cd201f !default; +$slack: #3aaf85 !default; +$dribbble: #ea4c89 !default; +$github: #222 !default; $theme-colors: () !default; -$theme-colors: map-merge(( - "default": $default, - "primary": $primary, - "secondary": $secondary, - "success": $success, - "info": $info, - "warning": $warning, - "danger": $danger, - "white": $white, - "neutral": $white, - "dark": $dark, - "darker": $darker -), $theme-colors); - +$theme-colors: map.merge( + ( + "default": $default, + "primary": $primary, + "secondary": $secondary, + "success": $success, + "info": $info, + "warning": $warning, + "danger": $danger, + "white": $white, + "neutral": $white, + "dark": $dark, + "darker": $darker + ), + $theme-colors +); $brand-colors: () !default; -$brand-colors: map-merge(( - "facebook": $facebook, - "twitter": $twitter, - "google-plus": $google-plus, - "instagram": $instagram, - "pinterest": $pinterest, - "youtube": $youtube, - "slack": $slack, - "dribbble": $dribbble, - "github": $github -), $brand-colors); - +$brand-colors: map.merge( + ( + "facebook": $facebook, + "twitter": $twitter, + "google-plus": $google-plus, + "instagram": $instagram, + "pinterest": $pinterest, + "youtube": $youtube, + "slack": $slack, + "dribbble": $dribbble, + "github": $github + ), + $brand-colors +); $shape-colors: () !default; -$shape-colors: map-merge(( - "default": #32325d, - "primary": #5533ff, - "secondary": #24b47e, - "neutral": #e9ecef, - "blue-gray": #b2cbe1, - -), $shape-colors); - +$shape-colors: map.merge( + ( + "default": #32325d, + "primary": #53f, + "secondary": #24b47e, + "neutral": #e9ecef, + "blue-gray": #b2cbe1, + ), + $shape-colors +); $shapes-primary-colors: () !default; -$shapes-primary-colors: map-merge(( - "step-1-gradient-bg": #281483, - "step-2-gradient-bg": #8f6ed5, - "step-3-gradient-bg": #d782d9, - "span-1-bg": #53f, - "span-2-bg": #4553ff, - "span-3-bg": #4f40ff, - "span-4-bg": #25ddf5, - "span-5-bg": #1fa2ff -), $shapes-primary-colors); - +$shapes-primary-colors: map.merge( + ( + "step-1-gradient-bg": #281483, + "step-2-gradient-bg": #8f6ed5, + "step-3-gradient-bg": #d782d9, + "span-1-bg": #53f, + "span-2-bg": #4553ff, + "span-3-bg": #4f40ff, + "span-4-bg": #25ddf5, + "span-5-bg": #1fa2ff + ), + $shapes-primary-colors +); $shapes-default-colors: () !default; -$shapes-default-colors: map-merge(( - "step-1-gradient-bg": #7795f8, - "step-2-gradient-bg": #6772e5, - "step-3-gradient-bg": #555abf, - "span-1-bg": #7795f8, - "span-2-bg": #7b9aff, - "span-3-bg": #6f8ff8, - "span-4-bg": #76eea7, - "span-5-bg": #6adaff -), $shapes-default-colors); - +$shapes-default-colors: map.merge( + ( + "step-1-gradient-bg": #7795f8, + "step-2-gradient-bg": #6772e5, + "step-3-gradient-bg": #555abf, + "span-1-bg": #7795f8, + "span-2-bg": #7b9aff, + "span-3-bg": #6f8ff8, + "span-4-bg": #76eea7, + "span-5-bg": #6adaff + ), + $shapes-default-colors +); $shapes-light-colors: () !default; -$shapes-light-colors: map-merge(( - "step-1-gradient-bg": #b2cbe1, - "step-2-gradient-bg": #f6f9fc, - "step-3-gradient-bg": #f6f9fc, - "span-1-bg": #b4cce1, - "span-2-bg": #c5dbef, - "span-3-bg": #b9d5ed, - "span-4-bg": #74e4a2, - "span-5-bg": #008169 -), $shapes-light-colors); - +$shapes-light-colors: map.merge( + ( + "step-1-gradient-bg": #b2cbe1, + "step-2-gradient-bg": #f6f9fc, + "step-3-gradient-bg": #f6f9fc, + "span-1-bg": #b4cce1, + "span-2-bg": #c5dbef, + "span-3-bg": #b9d5ed, + "span-4-bg": #74e4a2, + "span-5-bg": #008169 + ), + $shapes-light-colors +); $shapes-dark-colors: () !default; -$shapes-dark-colors: map-merge(( - "step-1-gradient-bg": #32325d, - "step-2-gradient-bg": #32325d, - "step-3-gradient-bg": #32325d, - "span-1-bg": #2e2e57, - "span-2-bg": #2b2b58, - "span-3-bg": #25254d, - "span-4-bg": #d782d9, - "span-5-bg": #008169 -), $shapes-dark-colors); - +$shapes-dark-colors: map.merge( + ( + "step-1-gradient-bg": #32325d, + "step-2-gradient-bg": #32325d, + "step-3-gradient-bg": #32325d, + "span-1-bg": #2e2e57, + "span-2-bg": #2b2b58, + "span-3-bg": #25254d, + "span-4-bg": #d782d9, + "span-5-bg": #008169 + ), + $shapes-dark-colors +); // Translucent color variations -$translucent-color-opacity: .6 !default; +$translucent-color-opacity: 0.6 !default; // Set a specific jump point for requesting color jumps -$theme-color-interval: 8% !default; +$theme-color-interval: 8% !default; -// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. -$yiq-contrasted-threshold: 200 !default; +// The yiq lightness value that determines when the lightness of color changes +// from "dark" to "light". Acceptable values are between 0 and 255. +$yiq-contrasted-threshold: 200 !default; // Customize the light and dark text colors for use in our YIQ color contrast function. -$yiq-text-dark: $gray-900 !default; -$yiq-text-light: $white !default; +$yiq-text-dark: $gray-900 !default; +$yiq-text-light: $white !default; // Action colors $star-rating-color: $gray-400 !default; $star-rating-color-active: $yellow !default; - $favorite-color: $yellow !default; $like-color: $blue !default; $love-color: $red !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_components.scss b/frontend/src/assets/scss/custom/gradido-custom/_components.scss index a670f3bcf..400fc0647 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_components.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_components.scss @@ -1,31 +1,24 @@ // Components -$shape-height-xl: 1.5 !default; -$shape-height-lg: 1.5 !default; -$shape-height-sm: 1.5 !default; - -$border-width: 1px !default; -$border-color: $gray-200 !default; - -$border-radius: .375rem !default; -$border-radius-xl: .5rem !default; -$border-radius-lg: .4375rem !default; -$border-radius-sm: .25rem !default; - -$box-shadow-sm: 0 0 .5rem rgba($gray-600, .075) !default; -$box-shadow: 0 0 2rem 0 rgba($gray-600, .15) !default; -$box-shadow-lg: 0 0 3rem rgba($gray-600, .175) !default; - -$component-active-color: $white !default; -$component-active-bg: theme-color("primary") !default; +$shape-height-xl: 1.5 !default; +$shape-height-lg: 1.5 !default; +$shape-height-sm: 1.5 !default; +$border-width: 1px !default; +$border-color: $gray-200 !default; +$border-radius: 0.375rem !default; +$border-radius-xl: 0.5rem !default; +$border-radius-lg: 0.4375rem !default; +$border-radius-sm: 0.25rem !default; +$box-shadow-sm: 0 0 0.5rem rgba($gray-600, 0.075) !default; +$box-shadow: 0 0 2rem 0 rgba($gray-600, 0.15) !default; +$box-shadow-lg: 0 0 3rem rgba($gray-600, 0.175) !default; +$component-active-color: $white !default; +$component-active-bg: theme-color("primary") !default; $component-active-border-color: theme-color("primary") !default; - -$component-hover-color: $gray-300 !default; -$component-hover-bg: $gray-300 !default; +$component-hover-color: $gray-300 !default; +$component-hover-bg: $gray-300 !default; $component-hover-border-color: $gray-300 !default; - -$caret-width: .3em !default; - -$transition-base: all .15s ease !default; -$transition-fade: opacity .15s linear !default; -$transition-collapse: height .35s ease !default; +$caret-width: 0.3em !default; +$transition-base: all 0.15s ease !default; +$transition-fade: opacity 0.15s linear !default; +$transition-collapse: height 0.35s ease !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_custom-forms.scss b/frontend/src/assets/scss/custom/gradido-custom/_custom-forms.scss index 4c9fb9ff5..b0e686782 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_custom-forms.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_custom-forms.scss @@ -1,33 +1,27 @@ // Custom forms -$custom-control-gutter: 1.75rem !default; -$custom-control-spacer-x: 1rem !default; -$custom-control-indicator-size: 1.25rem !default; - -$custom-control-indicator-bg: $input-bg !default; -$custom-control-indicator-border-width: 1px !default; -$custom-control-indicator-border-color: $input-border-color !default; -$custom-control-indicator-box-shadow: none !default; - -$custom-control-indicator-focus-box-shadow: $custom-control-indicator-box-shadow !default; - -$custom-control-indicator-hover-color: $component-hover-color !default; -$custom-control-indicator-hover-bg: $component-hover-bg !default; -$custom-control-indicator-hover-border-color: $component-hover-border-color !default; - -$custom-control-indicator-active-color: $component-active-color !default; -$custom-control-indicator-active-bg: $component-active-bg !default; -$custom-control-indicator-active-border-color: $component-active-border-color !default; -$custom-control-indicator-active-box-shadow: $custom-control-indicator-box-shadow !default; - -$custom-control-indicator-checked-color: $component-active-color !default; -$custom-control-indicator-checked-bg: $component-active-bg !default; +$custom-control-gutter: 1.75rem !default; +$custom-control-spacer-x: 1rem !default; +$custom-control-indicator-size: 1.25rem !default; +$custom-control-indicator-bg: $input-bg !default; +$custom-control-indicator-border-width: 1px !default; +$custom-control-indicator-border-color: $input-border-color !default; +$custom-control-indicator-box-shadow: none !default; +$custom-control-indicator-focus-box-shadow: $custom-control-indicator-box-shadow !default; +$custom-control-indicator-hover-color: $component-hover-color !default; +$custom-control-indicator-hover-bg: $component-hover-bg !default; +$custom-control-indicator-hover-border-color: $component-hover-border-color !default; +$custom-control-indicator-active-color: $component-active-color !default; +$custom-control-indicator-active-bg: $component-active-bg !default; +$custom-control-indicator-active-border-color: $component-active-border-color !default; +$custom-control-indicator-active-box-shadow: $custom-control-indicator-box-shadow !default; +$custom-control-indicator-checked-color: $component-active-color !default; +$custom-control-indicator-checked-bg: $component-active-bg !default; $custom-control-indicator-checked-border-color: $component-active-border-color !default; -$custom-control-indicator-checked-box-shadow: $custom-control-indicator-box-shadow !default; -$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; +$custom-control-indicator-checked-box-shadow: $custom-control-indicator-box-shadow !default; +$custom-control-indicator-checked-disabled-bg: rgb(theme-color("primary") 0.5) !default; +$custom-control-indicator-disabled-bg: $gray-200 !default; +$custom-control-label-disabled-color: $gray-600 !default; +$custom-checkbox-indicator-border-radius: $border-radius-sm !default; -$custom-control-indicator-disabled-bg: $gray-200 !default; -$custom-control-label-disabled-color: $gray-600 !default; - -$custom-checkbox-indicator-border-radius: $border-radius-sm !default; -//$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml !default;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default; +// $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml !default;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_custom-toogle.scss b/frontend/src/assets/scss/custom/gradido-custom/_custom-toogle.scss index 578e2e4e0..ddf88c14c 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_custom-toogle.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_custom-toogle.scss @@ -1,5 +1,5 @@ // Custom toggle -$custom-toggle-width: 50px !default; -$custom-toggle-slider-bg: $gray-200 !default; -$custom-toggle-checked-bg: theme-color("primary") !default; +$custom-toggle-width: 50px !default; +$custom-toggle-slider-bg: $gray-200 !default; +$custom-toggle-checked-bg: theme-color("primary") !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_datepicker.scss b/frontend/src/assets/scss/custom/gradido-custom/_datepicker.scss index e4662636d..27aae2503 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_datepicker.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_datepicker.scss @@ -2,27 +2,21 @@ $datepicker-border-radius: $card-border-radius !default; $datepicker-dropdown-padding: 20px 22px !default; - $datepicker-cell-transition: $transition-base !default; -$datepicker-cell-hover-background: lighten($gray-400, 55%); +$datepicker-cell-hover-background: color.adjust($gray-400, 55%); $datepicker-cell-border-radius: 50% !default; $datepicker-cell-width: 36px !default; $datepicker-cell-height: 36px !default; - $datepicker-disabled-cell-color: $gray-300 !default; $datepicker-disabled-old-new-color: $gray-500 !default; - $datepicker-header-cell-border-radius: $border-radius !default; - $datepicker-active-color: $white !default; $datepicker-active-background: theme-color("primary") !default; -$datepicker-active-box-shadow: none !default; - +$datepicker-active-box-shadow: none !default; $datepicker-range-background: theme-color("primary") !default; -$datepicker-range-cell-focused-background: darken($datepicker-range-background, 5%); +$datepicker-range-cell-focused-background: color.adjust($datepicker-range-background, -5%); $datepicker-range-color: $white !default; $datepicker-range-highlighted-bg: $gray-200 !default; - -$datepicker-dropdown-border: lighten($gray-400, 40%); +$datepicker-dropdown-border: color.adjust($gray-400, 40%); $datepicker-dropdown-bg: $white !default; $datepicker-highlighted-bg: $datepicker-active-background !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_dropdown.scss b/frontend/src/assets/scss/custom/gradido-custom/_dropdown.scss index f26ac8c00..e699f20df 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_dropdown.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_dropdown.scss @@ -1,7 +1,9 @@ // Dropdown -$dropdown-bg: $white !default; -$dropdown-border-width: 0 !default; -$dropdown-border-color: rgba($black, .15) !default; -$dropdown-border-radius: $border-radius-lg !default; -$dropdown-box-shadow: 0 50px 100px rgba(50, 50, 93, .1), 0 15px 35px rgba(50, 50, 93, .15), 0 5px 15px rgba(0, 0, 0, .1) !default; +$dropdown-bg: $white !default; +$dropdown-border-width: 0 !default; +$dropdown-border-color: rgba($black, 0.15) !default; +$dropdown-border-radius: $border-radius-lg !default; +$dropdown-box-shadow: 0 50px 100px rgb(50 50 93 / 10%), + 0 15px 35px rgb(50 50 93 / 15%), + 0 5px 15px rgb(0 0 0 / 10%) !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_fonts.scss b/frontend/src/assets/scss/custom/gradido-custom/_fonts.scss index b9c2bf82a..473902364 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_fonts.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_fonts.scss @@ -1,88 +1,64 @@ - // Fonts -$font-family-sans-serif: Open Sans, sans-serif !default; +$font-family-sans-serif: open sans, sans-serif !default; $font-family-base: $font-family-sans-serif !default; - -$font-size-base: 1rem !default; // Assumes the browser default, typically `16px` -$font-size-xl: ($font-size-base * 1.5); -$font-size-lg: ($font-size-base * 1.25); -$font-size-sm: ($font-size-base * .875); -$font-size-xs: ($font-size-base * .75); - -$font-weight-light: 300 !default; -$font-weight-normal: 400 !default; -$font-weight-bold: 600 !default; -$font-weight-extra-bold: 700 !default; - -$font-weight-base: $font-weight-normal !default; -$line-height-base: 1.5 !default; -$shape-height-base: 1.5 !default; - - -$h1-font-size: $font-size-base * 1.625 !default; -$h2-font-size: $font-size-base * 1.25 !default; -$h3-font-size: $font-size-base * 1.0625 !default; -$h4-font-size: $font-size-base * .9375 !default; -$h5-font-size: $font-size-base * .8125 !default; -$h6-font-size: $font-size-base * .625 !default; - - -$headings-margin-bottom: ($spacer / 2); -$headings-font-family: inherit !default; -$headings-font-weight: $font-weight-bold !default; -$headings-line-height: 1.5 !default; -$headings-color: $gray-800 !default; - -$heading-letter-spacing: .025em !default; -$heading-font-size: .95rem !default; -$heading-text-transform: uppercase !default; -$heading-font-weight: $headings-font-weight !default; - -$heading-title-letter-spacing: .025em !default; -$heading-title-font-size: 1.375rem !default; -$heading-title-font-weight: $font-weight-bold !default; -$heading-title-text-transform: uppercase !default; - -$heading-section-letter-spacing: .025em !default; -$heading-section-font-size: 1.375rem !default; -$heading-section-font-weight: $font-weight-bold !default; -$heading-section-text-transform: uppercase !default; - -$display1-size: 3.3rem !default; -$display2-size: 2.75rem !default; -$display3-size: 2.1875rem !default; -$display4-size: 1.6275rem !default; - -$display1-weight: $font-weight-bold !default; -$display2-weight: $font-weight-bold !default; -$display3-weight: $font-weight-bold !default; -$display4-weight: $font-weight-bold !default; -$display-line-height: $headings-line-height !default; - -$paragraph-font-size: 1rem !default; -$paragraph-font-weight: 300 !default; -$paragraph-line-height: 1.7 !default; - -$lead-font-size: ($paragraph-font-size * 1.25) !default; -$lead-font-weight: 300 !default; - -$small-font-size: 80% !default; - -$text-muted: $gray-600 !default; - -$blockquote-small-color: $gray-600 !default; -$blockquote-font-size: ($font-size-base * 1.25) !default; - -$hr-border-color: rgba($black, .1); -$hr-border-width: $border-width !default; - -$mark-padding: .2em !default; - -$dt-font-weight: $font-weight-bold !default; - -$list-inline-padding: .5rem !default; - -$mark-bg: #fcf8e3 !default; - -$hr-margin-y: $spacer * 2 !default; +$font-size-base: 1rem !default; // Assumes the browser default, typically `16px` +$font-size-xl: ($font-size-base * 1.5); +$font-size-lg: ($font-size-base * 1.25); +$font-size-sm: ($font-size-base * 0.875); +$font-size-xs: ($font-size-base * 0.75); +$font-weight-light: 300 !default; +$font-weight-normal: 400 !default; +$font-weight-bold: 600 !default; +$font-weight-extra-bold: 700 !default; +$font-weight-base: $font-weight-normal !default; +$line-height-base: 1.5 !default; +$shape-height-base: 1.5 !default; +$h1-font-size: $font-size-base * 1.625 !default; +$h2-font-size: $font-size-base * 1.25 !default; +$h3-font-size: $font-size-base * 1.0625 !default; +$h4-font-size: $font-size-base * 0.9375 !default; +$h5-font-size: $font-size-base * 0.8125 !default; +$h6-font-size: $font-size-base * 0.625 !default; +$headings-margin-bottom: ($spacer / 2); +$headings-font-family: inherit !default; +$headings-font-weight: $font-weight-bold !default; +$headings-line-height: 1.5 !default; +$headings-color: $gray-800 !default; +$heading-letter-spacing: 0.025em !default; +$heading-font-size: 0.95rem !default; +$heading-text-transform: uppercase !default; +$heading-font-weight: $headings-font-weight !default; +$heading-title-letter-spacing: 0.025em !default; +$heading-title-font-size: 1.375rem !default; +$heading-title-font-weight: $font-weight-bold !default; +$heading-title-text-transform: uppercase !default; +$heading-section-letter-spacing: 0.025em !default; +$heading-section-font-size: 1.375rem !default; +$heading-section-font-weight: $font-weight-bold !default; +$heading-section-text-transform: uppercase !default; +$display1-size: 3.3rem !default; +$display2-size: 2.75rem !default; +$display3-size: 2.1875rem !default; +$display4-size: 1.6275rem !default; +$display1-weight: $font-weight-bold !default; +$display2-weight: $font-weight-bold !default; +$display3-weight: $font-weight-bold !default; +$display4-weight: $font-weight-bold !default; +$display-line-height: $headings-line-height !default; +$paragraph-font-size: 1rem !default; +$paragraph-font-weight: 300 !default; +$paragraph-line-height: 1.7 !default; +$lead-font-size: ($paragraph-font-size * 1.25) !default; +$lead-font-weight: 300 !default; +$small-font-size: 80% !default; +$text-muted: $gray-600 !default; +$blockquote-small-color: $gray-600 !default; +$blockquote-font-size: ($font-size-base * 1.25) !default; +$hr-border-color: rgba($black, 0.1); +$hr-border-width: $border-width !default; +$mark-padding: 0.2em !default; +$dt-font-weight: $font-weight-bold !default; +$list-inline-padding: 0.5rem !default; +$mark-bg: #fcf8e3 !default; +$hr-margin-y: $spacer * 2 !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_footer.scss b/frontend/src/assets/scss/custom/gradido-custom/_footer.scss index 50bc8fecb..8cc541f2e 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_footer.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_footer.scss @@ -1,13 +1,11 @@ // Footer -$footer-padding-y: 2.5rem; -$footer-padding-x: 0; - - -$footer-link-font-size: .85rem !default; +$footer-padding-y: 2.5rem; +$footer-padding-x: 0; +$footer-link-font-size: 0.85rem !default; $footer-bg: theme-color("secondary") !default; $footer-color: $gray-600 !default; $footer-link-color: $gray-600 !default; $footer-link-hover-color: $gray-700 !default; $footer-heading-color: $gray-600 !default; -$footer-heading-font-size: $font-size-sm !default; \ No newline at end of file +$footer-heading-font-size: $font-size-sm !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_form-groups.scss b/frontend/src/assets/scss/custom/gradido-custom/_form-groups.scss index 88bbfef4a..e367b97a5 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_form-groups.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_form-groups.scss @@ -1,3 +1,3 @@ // Form group -$form-group-margin-bottom: 1.5rem !default; +$form-group-margin-bottom: 1.5rem !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_form-validation.scss b/frontend/src/assets/scss/custom/gradido-custom/_form-validation.scss index 644b49b9f..935481fb8 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_form-validation.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_form-validation.scss @@ -1,6 +1,6 @@ // Form validation -$form-feedback-valid-bg: lighten($success, 15%) !default; -$form-feedback-valid-color: theme-color("success") !default; -$form-feedback-invalid-bg: lighten($warning, 15%) !default; -$form-feedback-invalid-color: theme-color("warning") !default; +$form-feedback-valid-bg: color.adjust($success, 15%) !default; +$form-feedback-valid-color: theme-color("success") !default; +$form-feedback-invalid-bg: color.adjust($warning, 15%) !default; +$form-feedback-invalid-color: theme-color("warning") !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_forms.scss b/frontend/src/assets/scss/custom/gradido-custom/_forms.scss index e69de29bb..8b1a39374 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_forms.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_forms.scss @@ -0,0 +1 @@ +// empty diff --git a/frontend/src/assets/scss/custom/gradido-custom/_global.scss b/frontend/src/assets/scss/custom/gradido-custom/_global.scss index 14961b56a..f4f787be6 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_global.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_global.scss @@ -1,11 +1,9 @@ - // Global settings -$enable-caret: true !default; -$enable-rounded: true !default; -$enable-shadows: true !default; -$enable-gradients: false !default; -$enable-transitions: true !default; -$enable-grid-classes: true !default; -$enable-print-styles: true !default; - +$enable-caret: true !default; +$enable-rounded: true !default; +$enable-shadows: true !default; +$enable-gradients: false !default; +$enable-transitions: true !default; +$enable-grid-classes: true !default; +$enable-print-styles: true !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_grid-breakpoint.scss b/frontend/src/assets/scss/custom/gradido-custom/_grid-breakpoint.scss index 499e672a5..af4296cf6 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_grid-breakpoint.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_grid-breakpoint.scss @@ -11,7 +11,6 @@ $grid-breakpoints: ( @include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); @include _assert-starts-at-zero($grid-breakpoints); - // Grid containers -// + // Define the maximum width of `.container` for different screen sizes. diff --git a/frontend/src/assets/scss/custom/gradido-custom/_icons.scss b/frontend/src/assets/scss/custom/gradido-custom/_icons.scss index b4b520996..f20490d59 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_icons.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_icons.scss @@ -1,7 +1,6 @@ - // Icons $icon-size: 3rem !default; $icon-size-xl: 5rem !default; $icon-size-lg: 4rem !default; -$icon-size-sm: 2rem !default; \ No newline at end of file +$icon-size-sm: 2rem !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_input-groups.scss b/frontend/src/assets/scss/custom/gradido-custom/_input-groups.scss index 7824bae28..66add56f5 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_input-groups.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_input-groups.scss @@ -1,9 +1,8 @@ // Input groups -$input-group-addon-color: $input-placeholder-color !default; -$input-group-addon-bg: $input-bg !default; -$input-group-addon-border-color: $input-border-color !default; - -$input-group-addon-focus-color: $input-focus-color !default; -$input-group-addon-focus-bg: $input-focus-bg !default; -$input-group-addon-focus-border-color: $input-focus-border-color !default; +$input-group-addon-color: $input-placeholder-color !default; +$input-group-addon-bg: $input-bg !default; +$input-group-addon-border-color: $input-border-color !default; +$input-group-addon-focus-color: $input-focus-color !default; +$input-group-addon-focus-bg: $input-focus-bg !default; +$input-group-addon-focus-border-color: $input-focus-border-color !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_input.scss b/frontend/src/assets/scss/custom/gradido-custom/_input.scss index c3320ccc7..339a4ace2 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_input.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_input.scss @@ -1,45 +1,36 @@ // Input -$input-padding-y: $input-btn-padding-y !default; -$input-padding-x: $input-btn-padding-x !default; -$input-line-height: $input-btn-line-height !default; +$input-padding-y: $input-btn-padding-y !default; +$input-padding-x: $input-btn-padding-x !default; +$input-line-height: $input-btn-line-height !default; +$input-padding-y-sm: $input-btn-padding-y-sm !default; +$input-padding-x-sm: $input-btn-padding-x-sm !default; +$input-line-height-sm: $input-btn-line-height-sm !default; +$input-padding-y-lg: $input-btn-padding-y-lg !default; +$input-padding-x-lg: $input-btn-padding-x-lg !default; +$input-line-height-lg: $input-btn-line-height-lg !default; +$input-border-radius: $border-radius !default; +$input-border-radius-xl: $border-radius-xl !default; +$input-border-radius-lg: $border-radius-lg !default; +$input-border-radius-sm: $border-radius-sm !default; +$input-bg: $white !default; +$input-disabled-bg: $gray-200 !default; +$input-muted-bg: #f7fafe !default; +$input-focus-muted-bg: color.adjust($input-muted-bg, 1%) !default; +$input-alternative-box-shadow: 0 1px 3px rgb(50 50 93 / 15%), 0 1px 0 rgb(0 0 0 / 2%) !default; +$input-focus-alternative-box-shadow: 0 4px 6px rgb(50 50 93 / 11%),0 1px 3px rgb(0 0 0 / 8%) !default; +$input-color: $gray-600 !default; +$input-border-color: #cad1d7 !default; +$input-border-width: $input-btn-border-width !default; +$input-box-shadow: none !default; // 0 1px 3px 0 $gray-400 !default; -$input-padding-y-sm: $input-btn-padding-y-sm !default; -$input-padding-x-sm: $input-btn-padding-x-sm !default; -$input-line-height-sm: $input-btn-line-height-sm !default; +$input-focus-bg: $white !default; +$input-focus-border-color: rgb(50 151 211 / 25%) !default; +$input-focus-color: $input-color !default; +$input-focus-width: 0 !default; +$input-focus-box-shadow: none !default; // 0 1px 3px 0 $gray-500 !default; -$input-padding-y-lg: $input-btn-padding-y-lg !default; -$input-padding-x-lg: $input-btn-padding-x-lg !default; -$input-line-height-lg: $input-btn-line-height-lg !default; - -$input-border-radius: $border-radius !default; -$input-border-radius-xl: $border-radius-xl !default; -$input-border-radius-lg: $border-radius-lg !default; -$input-border-radius-sm: $border-radius-sm !default; - -$input-bg: $white !default; -$input-disabled-bg: $gray-200 !default; - -$input-muted-bg: #F7FAFE !default; -$input-focus-muted-bg: lighten($input-muted-bg, 1%) !default; - -$input-alternative-box-shadow: 0 1px 3px rgba(50,50,93,.15), 0 1px 0 rgba(0,0,0,.02) !default; -$input-focus-alternative-box-shadow: 0 4px 6px rgba(50,50,93,.11),0 1px 3px rgba(0,0,0,.08) !default; - -$input-color: $gray-600 !default; -$input-border-color: #cad1d7 !default; -$input-border-width: $input-btn-border-width !default; -$input-box-shadow: none !default; // 0 1px 3px 0 $gray-400 !default; - -$input-focus-bg: $white !default; -$input-focus-border-color: rgba(50,151,211,.25) !default; -$input-focus-color: $input-color !default; -$input-focus-width: 0 !default; -$input-focus-box-shadow: none !default; //0 1px 3px 0 $gray-500 !default; - -$input-placeholder-color: $gray-500 !default; -$input-focus-placeholder-color: $gray-500 !default; - -$input-height-border: $input-border-width * 2 !default; - -$input-transition: all .2s cubic-bezier(0.68, -0.55, 0.265, 1.55) !default; +$input-placeholder-color: $gray-500 !default; +$input-focus-placeholder-color: $gray-500 !default; +$input-height-border: $input-border-width * 2 !default; +$input-transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55) !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_links.scss b/frontend/src/assets/scss/custom/gradido-custom/_links.scss index 3cdd10dad..ef6988b27 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_links.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_links.scss @@ -1,6 +1,6 @@ // Links -$link-color: $primary !default; -$link-decoration: none !default; -$link-hover-color: darken($link-color, 15%) !default; -$link-hover-decoration: none !default; \ No newline at end of file +$link-color: $primary !default; +$link-decoration: none !default; +$link-hover-color: color.adjust($link-color, -15%) !default; +$link-hover-decoration: none !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_list-group.scss b/frontend/src/assets/scss/custom/gradido-custom/_list-group.scss index 0109d4644..647570cb1 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_list-group.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_list-group.scss @@ -1,23 +1,18 @@ // List group -$list-group-bg: $white !default; -$list-group-border-color: $border-color !default; //rgba($black, .125); -$list-group-border-width: $border-width !default; -$list-group-border-radius: $border-radius !default; - -$list-group-item-padding-y: 1rem !default; -$list-group-item-padding-x: 1rem !default; - -$list-group-hover-bg: $gray-100 !default; -$list-group-active-color: $component-active-color !default; -$list-group-active-bg: $component-active-bg !default; -$list-group-active-border-color: $list-group-active-bg !default; - -$list-group-disabled-color: $gray-600 !default; -$list-group-disabled-bg: $list-group-bg !default; - -$list-group-action-color: $gray-700 !default; -$list-group-action-hover-color: $list-group-action-color !default; - -$list-group-action-active-color: $list-group-action-color !default; -$list-group-action-active-bg: $gray-200 !default; +$list-group-bg: $white !default; +$list-group-border-color: $border-color !default; // rgba($black, .125); +$list-group-border-width: $border-width !default; +$list-group-border-radius: $border-radius !default; +$list-group-item-padding-y: 1rem !default; +$list-group-item-padding-x: 1rem !default; +$list-group-hover-bg: $gray-100 !default; +$list-group-active-color: $component-active-color !default; +$list-group-active-bg: $component-active-bg !default; +$list-group-active-border-color: $list-group-active-bg !default; +$list-group-disabled-color: $gray-600 !default; +$list-group-disabled-bg: $list-group-bg !default; +$list-group-action-color: $gray-700 !default; +$list-group-action-hover-color: $list-group-action-color !default; +$list-group-action-active-color: $list-group-action-color !default; +$list-group-action-active-bg: $gray-200 !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_modals.scss b/frontend/src/assets/scss/custom/gradido-custom/_modals.scss index 3ef72f5bc..a372d586d 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_modals.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_modals.scss @@ -1,24 +1,20 @@ // Modals -$modal-inner-padding: 1.5rem !default; - -$modal-lg: 800px !default; -$modal-md: 500px !default; -$modal-sm: 380px !default; - -$modal-title-line-height: 1.1; - -$modal-content-bg: $white !default; -$modal-content-border-color: rgba($black, .2) !default; -$modal-content-border-width: 0 !default; -$modal-content-border-radius: $border-radius-lg !default; -$modal-content-box-shadow-xs: 0 15px 35px rgba(50,50,93,.2), 0 5px 15px rgba(0,0,0,.17); -$modal-content-box-shadow-sm-up: 0 15px 35px rgba(50,50,93,.2), 0 5px 15px rgba(0,0,0,.17); - -$modal-backdrop-bg: $black !default; -$modal-backdrop-opacity: .16 !default; -$modal-header-border-color: $gray-200 !default; -$modal-footer-border-color: $modal-header-border-color !default; -$modal-header-border-width: $modal-content-border-width !default; -$modal-footer-border-width: $modal-header-border-width !default; -$modal-header-padding: 1.25rem !default; \ No newline at end of file +$modal-inner-padding: 1.5rem !default; +$modal-lg: 800px !default; +$modal-md: 500px !default; +$modal-sm: 380px !default; +$modal-title-line-height: 1.1; +$modal-content-bg: $white !default; +$modal-content-border-color: rgba($black, 0.2) !default; +$modal-content-border-width: 0 !default; +$modal-content-border-radius: $border-radius-lg !default; +$modal-content-box-shadow-xs: 0 15px 35px rgb(50 50 93 / 20%), 0 5px 15px rgb(0 0 0 / 17%); +$modal-content-box-shadow-sm-up: 0 15px 35px rgb(50 50 93 / 20%), 0 5px 15px rgb(0 0 0 / 17%); +$modal-backdrop-bg: $black !default; +$modal-backdrop-opacity: 0.16 !default; +$modal-header-border-color: $gray-200 !default; +$modal-footer-border-color: $modal-header-border-color !default; +$modal-header-border-width: $modal-content-border-width !default; +$modal-footer-border-width: $modal-header-border-width !default; +$modal-header-padding: 1.25rem !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_navbar.scss b/frontend/src/assets/scss/custom/gradido-custom/_navbar.scss index 39bd31dd7..1f4abaf45 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_navbar.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_navbar.scss @@ -1,49 +1,41 @@ // Navbar -$navbar-transition: all .15s linear !default; -$navbar-padding-y: 1rem !default; -$navbar-padding-x: 1rem !default; - -$navbar-nav-link-padding-x: 1rem !default; -$navbar-nav-link-padding-y: 1rem !default; - -$navbar-nav-link-font-size: .9rem !default; -$navbar-nav-link-font-weight: 400 !default; -$navbar-nav-link-text-transform: normal !default; -$navbar-nav-link-letter-spacing: 0 !default; -$navbar-nav-link-border-radius: $border-radius !default; - -$navbar-search-width: 270px !default; -$navbar-search-bg: transparent !default; - -$navbar-search-border-radius: 2rem !default; -$navbar-search-border-width: 2px !default; - -$navbar-dark-bg: transparent !default; -$navbar-dark-hover-bg: rgba(255, 255, 255, .1) !default; -$navbar-dark-active-bg: rgba(255, 255, 255, .1) !default; -$navbar-dark-color: rgba($white, .95) !default; -$navbar-dark-hover-color: rgba($white, .65) !default; -$navbar-dark-active-color: rgba($white, .65) !default; -$navbar-dark-disabled-color: rgba($white, .25) !default; -$navbar-dark-toggler-border-color: transparent !default; - -$navbar-search-dark-border-color: rgba(255, 255, 255, .6) !default; -$navbar-search-dark-color: rgba(255, 255, 255, .6) !default; -$navbar-search-dark-focus-border-color: rgba(255, 255, 255, .9) !default; -$navbar-search-dark-focus-color: rgba(255, 255, 255, .9) !default; - -$navbar-light-bg: transparent !default; -$navbar-light-hover-bg: rgba(0, 0, 0, .1) !default; -$navbar-light-active-bg: rgba(0, 0, 0, .1) !default; -$navbar-light-border-color: $gray-100 !default; -$navbar-light-color: rgba($black, .5) !default; -$navbar-light-hover-color: rgba($black, .7) !default; -$navbar-light-active-color: rgba($black, .9) !default; -$navbar-light-disabled-color: rgba($black, .3) !default; +$navbar-transition: all 0.15s linear !default; +$navbar-padding-y: 1rem !default; +$navbar-padding-x: 1rem !default; +$navbar-nav-link-padding-x: 1rem !default; +$navbar-nav-link-padding-y: 1rem !default; +$navbar-nav-link-font-size: 0.9rem !default; +$navbar-nav-link-font-weight: 400 !default; +$navbar-nav-link-text-transform: normal !default; +$navbar-nav-link-letter-spacing: 0 !default; +$navbar-nav-link-border-radius: $border-radius !default; +$navbar-search-width: 270px !default; +$navbar-search-bg: transparent !default; +$navbar-search-border-radius: 2rem !default; +$navbar-search-border-width: 2px !default; +$navbar-dark-bg: transparent !default; +$navbar-dark-hover-bg: rgb(255 255 255 / 10%) !default; +$navbar-dark-active-bg: rgb(255 255 255 / 10%) !default; +$navbar-dark-color: rgba($white, 0.95) !default; +$navbar-dark-hover-color: rgba($white, 0.65) !default; +$navbar-dark-active-color: rgba($white, 0.65) !default; +$navbar-dark-disabled-color: rgba($white, 0.25) !default; +$navbar-dark-toggler-border-color: transparent !default; +$navbar-search-dark-border-color: rgb(255 255 255 / 60%) !default; +$navbar-search-dark-color: rgb(255 255 255 / 60%) !default; +$navbar-search-dark-focus-border-color: rgb(255 255 255 / 90%) !default; +$navbar-search-dark-focus-color: rgb(255 255 255 / 90%) !default; +$navbar-light-bg: transparent !default; +$navbar-light-hover-bg: rgb(0 0 0 / 10%) !default; +$navbar-light-active-bg: rgb(0 0 0 / 10%) !default; +$navbar-light-border-color: $gray-100 !default; +$navbar-light-color: rgba($black, 0.5) !default; +$navbar-light-hover-color: rgba($black, 0.7) !default; +$navbar-light-active-color: rgba($black, 0.9) !default; +$navbar-light-disabled-color: rgba($black, 0.3) !default; $navbar-light-toggler-border-color: transparent !default; - -$navbar-search-light-border-color: rgba(0, 0, 0, .6) !default; -$navbar-search-light-color: rgba(0, 0, 0, .6) !default; -$navbar-search-light-focus-border-color: rgba(0, 0, 0, .9) !default; -$navbar-search-light-focus-color: rgba(0, 0, 0, .9) !default; +$navbar-search-light-border-color: rgb(0 0 0 / 60%) !default; +$navbar-search-light-color: rgb(0 0 0 / 60%) !default; +$navbar-search-light-focus-border-color: rgb(0 0 0 / 90%) !default; +$navbar-search-light-focus-color: rgb(0 0 0 / 90%) !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_navs.scss b/frontend/src/assets/scss/custom/gradido-custom/_navs.scss index ba3083b02..050ffe419 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_navs.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_navs.scss @@ -1,23 +1,19 @@ // Navs -$nav-link-padding-y: .25rem !default; -$nav-link-padding-x: .75rem !default; -$nav-link-color: $gray-700 !default; -$nav-link-hover-color: theme-color("primary") !default; -$nav-link-disabled-color: $gray-600 !default; - -$nav-pills-padding-y: .75rem !default; -$nav-pills-padding-x: 1rem !default; - -$nav-pills-space-x: 1rem !default; - -$nav-pills-bg: $white !default; -$nav-pills-border-width: 1px !default; -$nav-pills-border-color: theme-color("primary") !default; -$nav-pills-border-radius: $border-radius !default; - -$nav-pills-link-color: theme-color("primary") !default; -$nav-pills-link-hover-color: darken(theme-color("primary"), 5%) !default; -$nav-pills-link-active-color: color-yiq(theme-color("primary")) !default; -$nav-pills-link-active-bg: theme-color("primary") !default; -$nav-pills-box-shadow: $btn-box-shadow !default; +$nav-link-padding-y: 0.25rem !default; +$nav-link-padding-x: 0.75rem !default; +$nav-link-color: $gray-700 !default; +$nav-link-hover-color: theme-color("primary") !default; +$nav-link-disabled-color: $gray-600 !default; +$nav-pills-padding-y: 0.75rem !default; +$nav-pills-padding-x: 1rem !default; +$nav-pills-space-x: 1rem !default; +$nav-pills-bg: $white !default; +$nav-pills-border-width: 1px !default; +$nav-pills-border-color: theme-color("primary") !default; +$nav-pills-border-radius: $border-radius !default; +$nav-pills-link-color: theme-color("primary") !default; +$nav-pills-link-hover-color: color.adjust(theme-color("primary"), -5%) !default; +$nav-pills-link-active-color: color-yiq(theme-color("primary")) !default; +$nav-pills-link-active-bg: theme-color("primary") !default; +$nav-pills-box-shadow: $btn-box-shadow !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_nouislider.scss b/frontend/src/assets/scss/custom/gradido-custom/_nouislider.scss index 9ce346e35..9d4bb94ca 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_nouislider.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_nouislider.scss @@ -1,17 +1,14 @@ // No UI Slider -$noui-target-bg: #eceeef !default; -$noui-target-thickness: 5px !default; -$noui-target-border-radius: 5px !default; -$noui-target-border-color: 0 !default; -$noui-target-box-shadow: inset 0 1px 2px rgba(90,97,105,.1) !default; - -$noui-slider-connect-bg: $primary !default; +$noui-target-bg: #eceeef !default; +$noui-target-thickness: 5px !default; +$noui-target-border-radius: 5px !default; +$noui-target-border-color: 0 !default; +$noui-target-box-shadow: inset 0 1px 2px rgb(90 97 105 / 10%) !default; +$noui-slider-connect-bg: $primary !default; $noui-slider-connect-disabled-bg: #b2b2b2 !default; - -$noui-handle-width: 15px !default; -$noui-handle-bg: theme-color("primary") !default; -$noui-handle-border: 0 !default; -$noui-handle-border-radius: 100% !default; - -$noui-origin-border-radius: 2px !default; +$noui-handle-width: 15px !default; +$noui-handle-bg: theme-color("primary") !default; +$noui-handle-border: 0 !default; +$noui-handle-border-radius: 100% !default; +$noui-origin-border-radius: 2px !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_pagination.scss b/frontend/src/assets/scss/custom/gradido-custom/_pagination.scss index 5ec0f81f9..f98151d0b 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_pagination.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_pagination.scss @@ -8,22 +8,20 @@ // $pagination-padding-x-lg: 1.5rem !default; // $pagination-line-height: 1.25 !default; -$pagination-color: $gray-600 !default; -$pagination-bg: $white !default; -$pagination-border-width: $border-width !default; -$pagination-border-color: $gray-300 !default; +$pagination-color: $gray-600 !default; +$pagination-bg: $white !default; +$pagination-border-width: $border-width !default; +$pagination-border-color: $gray-300 !default; -//$pagination-focus-box-shadow: $btn-hover-box-shadow !default; +// $pagination-focus-box-shadow: $btn-hover-box-shadow !default; -$pagination-hover-color: $gray-600 !default; -$pagination-hover-bg: $gray-300 !default; -$pagination-hover-border-color: $gray-300 !default; - -$pagination-active-color: $component-active-color !default; -$pagination-active-bg: $component-active-bg !default; -$pagination-active-border-color: $pagination-active-bg !default; -$pagination-active-box-shadow: $btn-hover-box-shadow !default; - -$pagination-disabled-color: $gray-600 !default; -$pagination-disabled-bg: $white !default; -$pagination-disabled-border-color: $gray-300 !default; +$pagination-hover-color: $gray-600 !default; +$pagination-hover-bg: $gray-300 !default; +$pagination-hover-border-color: $gray-300 !default; +$pagination-active-color: $component-active-color !default; +$pagination-active-bg: $component-active-bg !default; +$pagination-active-border-color: $pagination-active-bg !default; +$pagination-active-box-shadow: $btn-hover-box-shadow !default; +$pagination-disabled-color: $gray-600 !default; +$pagination-disabled-bg: $white !default; +$pagination-disabled-border-color: $gray-300 !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_popovers.scss b/frontend/src/assets/scss/custom/gradido-custom/_popovers.scss index b667a294b..b5395f1d7 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_popovers.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_popovers.scss @@ -1,24 +1,20 @@ // Popovers -$popover-font-size: $font-size-sm !default; -$popover-bg: $white !default; -$popover-max-width: 276px !default; -$popover-border-width: 1px !default; -$popover-border-color: rgba($black, .05) !default; -$popover-border-radius: $border-radius-lg !default; -$popover-box-shadow: 0px .5rem 2rem 0px rgba($black, .2) !default; - -$popover-header-bg: $popover-bg !default; -$popover-header-color: $headings-color !default; -$popover-header-padding-y: .5rem !default; -$popover-header-padding-x: .95rem !default; - -$popover-body-color: $body-color !default; -$popover-body-padding-y: $popover-header-padding-y !default; -$popover-body-padding-x: $popover-header-padding-x !default; - -$popover-arrow-width: 1.5rem !default; -$popover-arrow-height: .75rem !default; -$popover-arrow-color: $popover-bg !default; - -$popover-arrow-outer-color: transparent !default; +$popover-font-size: $font-size-sm !default; +$popover-bg: $white !default; +$popover-max-width: 276px !default; +$popover-border-width: 1px !default; +$popover-border-color: rgba($black, 0.05) !default; +$popover-border-radius: $border-radius-lg !default; +$popover-box-shadow: 0 0.5rem 2rem 0 rgba($black, 0.2) !default; +$popover-header-bg: $popover-bg !default; +$popover-header-color: $headings-color !default; +$popover-header-padding-y: 0.5rem !default; +$popover-header-padding-x: 0.95rem !default; +$popover-body-color: $body-color !default; +$popover-body-padding-y: $popover-header-padding-y !default; +$popover-body-padding-x: $popover-header-padding-x !default; +$popover-arrow-width: 1.5rem !default; +$popover-arrow-height: 0.75rem !default; +$popover-arrow-color: $popover-bg !default; +$popover-arrow-outer-color: transparent !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_sections.scss b/frontend/src/assets/scss/custom/gradido-custom/_sections.scss index 02f0f4e52..df8f91f5b 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_sections.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_sections.scss @@ -1,5 +1,4 @@ // Body - $body-bg: #f8f9fe !default; $body-color: $gray-700 !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_spacing.scss b/frontend/src/assets/scss/custom/gradido-custom/_spacing.scss index 8b4cf5019..fa855a9aa 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_spacing.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_spacing.scss @@ -1,37 +1,41 @@ - // Spacing $spacer: 1rem !default; $spacers: () !default; -$spacers: map-merge(( - -9: -($spacer * 10), - -8: -($spacer * 8), - -7: -($spacer * 6), - -6: -($spacer * 4.5), - -5: -($spacer * 3), - -4: -($spacer * 1.5), - -3: -$spacer, - -2: -($spacer * .5), - -1: -($spacer * .25), - 0: 0, - 1: ($spacer * .25), - 2: ($spacer * .5), - 3: $spacer, - 4: ($spacer * 1.5), - 5: ($spacer * 3), - 6: ($spacer * 4.5), - 7: ($spacer * 6), - 8: ($spacer * 8), - 9: ($spacer * 10) -), $spacers); - +$spacers: map.merge( + ( + -9: - ($spacer * 10), + -8: - ($spacer * 8), + -7: - ($spacer * 6), + -6: - ($spacer * 4.5), + -5: - ($spacer * 3), + -4: - ($spacer * 1.5), + -3: - $spacer, + -2: - ($spacer * 0.5), + -1: - ($spacer * 0.25), + 0: 0, + 1: ($spacer * 0.25), + 2: ($spacer * 0.5), + 3: $spacer, + 4: ($spacer * 1.5), + 5: ($spacer * 3), + 6: ($spacer * 4.5), + 7: ($spacer * 6), + 8: ($spacer * 8), + 9: ($spacer * 10) + ), + $spacers +); // This variable affects the `.h-*` and `.w-*` classes. $sizes: () !default; -$sizes: map-merge(( - 25: 25%, - 50: 50%, - 75: 75%, - 100: 100% -), $sizes); \ No newline at end of file +$sizes: map.merge( + ( + 25: 25%, + 50: 50%, + 75: 75%, + 100: 100% + ), + $sizes +); diff --git a/frontend/src/assets/scss/custom/gradido-custom/_tables.scss b/frontend/src/assets/scss/custom/gradido-custom/_tables.scss index 64eb6056a..8ce2f49bd 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_tables.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_tables.scss @@ -1,32 +1,25 @@ // Tables -$table-cell-padding: 1rem !default; -$table-cell-padding-sm: .5rem !default; - -$table-bg: transparent !default; -$table-accent-bg: rgba($black, .05) !default; -$table-hover-bg: $gray-100 !default; -$table-active-bg: $table-hover-bg !default; - -$table-border-width: $border-width !default; -$table-border-color: $gray-200 !default; - -$table-head-bg: $gray-100 !default; -$table-head-color: $gray-600 !default; -$table-head-spacer-y: .75rem !default; - -$table-head-font-size: .65rem !default; -$table-head-font-weight: $font-weight-bold !default; -$table-head-text-transform: uppercase !default; -$table-head-letter-spacing: 1px !default; - -$table-body-font-size: .8125rem !default; - -$table-dark-bg: theme-color("default") !default; -$table-dark-accent-bg: rgba($white, .05) !default; -$table-dark-hover-bg: rgba($white, .075) !default; -$table-dark-border-color: lighten(theme-color("default"), 7%) !default; -$table-dark-color: $body-bg !default; - -$table-dark-head-bg: lighten(theme-color("default"), 4%) !default; -$table-dark-head-color: lighten(theme-color("default"), 35%) !default; \ No newline at end of file +$table-cell-padding: 1rem !default; +$table-cell-padding-sm: 0.5rem !default; +$table-bg: transparent !default; +$table-accent-bg: rgba($black, 0.05) !default; +$table-hover-bg: $gray-100 !default; +$table-active-bg: $table-hover-bg !default; +$table-border-width: $border-width !default; +$table-border-color: $gray-200 !default; +$table-head-bg: $gray-100 !default; +$table-head-color: $gray-600 !default; +$table-head-spacer-y: 0.75rem !default; +$table-head-font-size: 0.65rem !default; +$table-head-font-weight: $font-weight-bold !default; +$table-head-text-transform: uppercase !default; +$table-head-letter-spacing: 1px !default; +$table-body-font-size: 0.8125rem !default; +$table-dark-bg: theme-color("default") !default; +$table-dark-accent-bg: rgba($white, 0.05) !default; +$table-dark-hover-bg: rgba($white, 0.075) !default; +$table-dark-border-color: color.adjust(theme-color("default"), 7%) !default; +$table-dark-color: $body-bg !default; +$table-dark-head-bg: color.adjust(theme-color("default"), 4%) !default; +$table-dark-head-color: color.adjust(theme-color("default"), 35%) !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_tooltips.scss b/frontend/src/assets/scss/custom/gradido-custom/_tooltips.scss index ea7868fef..63f9ea078 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_tooltips.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_tooltips.scss @@ -1,3 +1,3 @@ // Tooltips -$tooltip-font-size: $font-size-sm !default; +$tooltip-font-size: $font-size-sm !default; diff --git a/frontend/src/assets/scss/custom/gradido-custom/_vertical-navbar.scss b/frontend/src/assets/scss/custom/gradido-custom/_vertical-navbar.scss index 6df40a4d6..4b05084e8 100644 --- a/frontend/src/assets/scss/custom/gradido-custom/_vertical-navbar.scss +++ b/frontend/src/assets/scss/custom/gradido-custom/_vertical-navbar.scss @@ -1,15 +1,12 @@ // Vertical navbar -$navbar-vertical-box-shadow: 0 0 2rem 0 rgba(136, 152, 170, .15) !important; +$navbar-vertical-box-shadow: 0 0 2rem 0 rgb(136 152 170 / 15%) !important; $navbar-vertical-width: 250px !default; $navbar-vertical-padding-x: 1.5rem !default; -$navbar-vertical-nav-link-padding-x: 1.5rem !default; -$navbar-vertical-nav-link-padding-y: .65rem !default; - +$navbar-vertical-nav-link-padding-x: 1.5rem !default; +$navbar-vertical-nav-link-padding-y: 0.65rem !default; $navbar-icon-min-width: 2.25rem !default; - $navbar-breadcrumb-padding-y: $nav-link-padding-y !default; $navbar-breadcrumb-padding-x: 0 !default; - $navbar-light-bg: $white !default; $navbar-light-border-color: $border-color !default; diff --git a/frontend/src/assets/scss/gradido.scss b/frontend/src/assets/scss/gradido.scss index 9bc3231c4..dba0f01da 100644 --- a/frontend/src/assets/scss/gradido.scss +++ b/frontend/src/assets/scss/gradido.scss @@ -1,14 +1,13 @@ - // Bootstrap (4.5.3) functions @import "~bootstrap/scss/functions"; - @import "custom/variables"; -// @import "~bootstrap/scss/variables"; wird am + +// @import "~bootstrap/scss/variables"; wird am // ende der custom/variables angehangen - + // Bootstrap (4.5.3) mixins -@import "~bootstrap/scss/mixins"; +@import "~bootstrap/scss/mixins"; // Bootstrap (4.5.3) components @@ -22,13 +21,16 @@ @import "~bootstrap/scss/close"; @import "~bootstrap/scss/code"; @import "~bootstrap/scss/custom-forms"; -@import "~bootstrap/scss/dropdown"; + +// @import "~bootstrap/scss/dropdown"; @import "~bootstrap/scss/forms"; -@import "~bootstrap/scss/functions"; + +// @import "~bootstrap/scss/functions"; @import "~bootstrap/scss/grid"; @import "~bootstrap/scss/input-group"; @import "~bootstrap/scss/list-group"; -@import "~bootstrap/scss/mixins"; + +// @import "~bootstrap/scss/mixins"; @import "~bootstrap/scss/modal"; @import "~bootstrap/scss/nav"; @import "~bootstrap/scss/navbar"; @@ -48,94 +50,111 @@ @import "~bootstrap/scss/bootstrap"; // Bootstrap-vue (2.21.1) scss -@import '~bootstrap-vue/src/index.scss'; - +@import "~bootstrap-vue/src/index"; .alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; + color: #155724; + background-color: #d4edda; + border-color: #c3e6cb; } +.alert-danger { + color: #721c24; + background-color: #f8d7da; + border-color: #f5c6cb; +} .b-toast-danger .toast .toast-header { - color: #721c24; - background-color: rgba(248,215,218,.85); - border-bottom-color: rgba(245,198,203,.85); + color: #721c24; + background-color: rgb(248 215 218 / 85%); + border-bottom-color: rgb(245 198 203 / 85%); } -.b-toast-danger .toast .toast-body{ - background-color: rgba(252,237,238,.85); - border-color: rgba(245,198,203,.85); - color: #721c24; + +.b-toast-danger .toast .toast-body { + background-color: rgb(252 237 238 / 85%); + border-color: rgb(245 198 203 / 85%); + color: #721c24; } .b-toast-success .toast .toast-header { - color: #155724; - background-color: rgba(212,237,218,.58); - border-bottom-color: rgba(195,230,203,.85); -} -.b-toast-success .toast .toast-body{ - color: #155724; - background-color: rgba(212,237,218,.85); - border-bottom-color: rgba(195,230,203,.85); + color: #155724; + background-color: rgb(212 237 218 / 58%); + border-bottom-color: rgb(195 230 203 / 85%); } +.b-toast-success .toast .toast-body { + color: #155724; + background-color: rgb(212 237 218 / 85%); + border-bottom-color: rgb(195 230 203 / 85%); +} - .btn-primary pim { - background-color: #5a7b02; - border-color: #5e72e4; - } - a, - .copyright { - color: #5a7b02; - } - .font1_2em { - font-size: 1.2em; - } - .font2em { - font-size: 1.5em; - } - .gradido-global-color-text { - color: #3d443b; - } - .gradido-global-color-accent { - color: #047006; - } - .gradido-global-color-6e0a9c9e { - color: #000; - } - .gradido-global-color-2d0fb154 { - color: #047006; - } - .gradido-global-color-16efe88c { - color: #7ebc55; - } - .gradido-global-color-1939326 { - color: #f6fff6; - } - .gradido-global-color-9d79fc1 { - color: #047006; - } - .gradido-global-color-6347f4d { - color: #5a7b02; - } - .gradido-global-color-4fbc19a { - color: #014034; - } - .gradido-global-color-d341874 { - color: #b6d939; - } - .gradido-global-color-619d338 { - color: #8ebfb1; - } - .gradido-global-color-44819a9 { - color: #026873; - } - .gradido-global-color-gray { - color: #858383; - } \ No newline at end of file +// .btn-primary pim { +.btn-primary { + background-color: #5a7b02; + border-color: #5e72e4; +} + +a, +.copyright { + color: #5a7b02; +} + +.font12em { + font-size: 1.2em; +} + +.font2em { + font-size: 1.5em; +} + +.gradido-global-color-text { + color: #3d443b; +} + +.gradido-global-color-accent { + color: #047006; +} + +.gradido-global-color-6e0a9c9e { + color: #000; +} + +.gradido-global-color-2d0fb154 { + color: #047006; +} + +.gradido-global-color-16efe88c { + color: #7ebc55; +} + +.gradido-global-color-1939326 { + color: #f6fff6; +} + +.gradido-global-color-9d79fc1 { + color: #047006; +} + +.gradido-global-color-6347f4d { + color: #5a7b02; +} + +.gradido-global-color-4fbc19a { + color: #014034; +} + +.gradido-global-color-d341874 { + color: #b6d939; +} + +.gradido-global-color-619d338 { + color: #8ebfb1; +} + +.gradido-global-color-44819a9 { + color: #026873; +} + +.gradido-global-color-gray { + color: #858383; +} diff --git a/frontend/src/components/Menu/Sidebar.vue b/frontend/src/components/Menu/Sidebar.vue index 20943d14a..4341791f0 100644 --- a/frontend/src/components/Menu/Sidebar.vue +++ b/frontend/src/components/Menu/Sidebar.vue @@ -53,8 +53,8 @@ export default { } diff --git a/frontend/src/components/UserCard.vue b/frontend/src/components/UserCard.vue index 04e1c927e..728883109 100755 --- a/frontend/src/components/UserCard.vue +++ b/frontend/src/components/UserCard.vue @@ -50,4 +50,3 @@ export default { }, } - diff --git a/frontend/src/components/UserCard_FormUserMail.vue b/frontend/src/components/UserCard_FormUserMail.vue index f21d8ffa3..b042a1961 100644 --- a/frontend/src/components/UserCard_FormUserMail.vue +++ b/frontend/src/components/UserCard_FormUserMail.vue @@ -61,4 +61,3 @@ export default { }, } - diff --git a/frontend/src/layouts/ContentFooter.vue b/frontend/src/layouts/ContentFooter.vue index 9d45cddb6..de49e8635 100755 --- a/frontend/src/layouts/ContentFooter.vue +++ b/frontend/src/layouts/ContentFooter.vue @@ -72,4 +72,3 @@ export default { }, } - diff --git a/frontend/src/pages/ForgotPassword.vue b/frontend/src/pages/ForgotPassword.vue index eeb954a0c..44d6e7e6b 100644 --- a/frontend/src/pages/ForgotPassword.vue +++ b/frontend/src/pages/ForgotPassword.vue @@ -96,4 +96,3 @@ export default { }, } - diff --git a/frontend/src/pages/RegisterCommunity.vue b/frontend/src/pages/RegisterCommunity.vue index 17f500e07..736a4282f 100644 --- a/frontend/src/pages/RegisterCommunity.vue +++ b/frontend/src/pages/RegisterCommunity.vue @@ -56,4 +56,3 @@ export default { mixins: [getCommunityInfoMixin], } - diff --git a/frontend/src/pages/ResetPassword.vue b/frontend/src/pages/ResetPassword.vue index 830107a99..1790802d4 100644 --- a/frontend/src/pages/ResetPassword.vue +++ b/frontend/src/pages/ResetPassword.vue @@ -118,4 +118,3 @@ export default { }, } - From fdab9b0894796ec0c4e171e6c7e46f785e2a5b80 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 10 Mar 2022 19:50:10 +0100 Subject: [PATCH 38/51] admin lint --- admin/src/pages/UserSearch.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue index ea49bf805..1fe44eda7 100644 --- a/admin/src/pages/UserSearch.vue +++ b/admin/src/pages/UserSearch.vue @@ -1,6 +1,6 @@