diff --git a/.stylelintrc.json b/.stylelintrc.json index c8a71a1648..1223ef3ade 100644 --- a/.stylelintrc.json +++ b/.stylelintrc.json @@ -1,16 +1,22 @@ { - "extends": ["stylelint-config-standard"], - "ignoreFiles": ["app/styles/reset.scss"], - "plugins": ["stylelint-scss"], + "extends": ["stylelint-config-standard-scss"], "rules": { + "alpha-value-notation": null, "at-rule-no-unknown": null, "at-rule-empty-line-before": ["always", { "ignore": ["after-comment", "first-nested", "inside-block", "blockless-after-same-name-blockless", "blockless-after-blockless"] }], + "color-function-notation": null, + "custom-property-pattern": null, + "declaration-block-no-redundant-longhand-properties": null, "declaration-colon-newline-after": null, "declaration-empty-line-before": "never", "font-family-no-missing-generic-family-keyword": [true, { "ignoreFontFamilies": ["ForkAwesome", "Font Awesome 5 Free", "OpenDyslexic", "soapbox"] }], + "max-line-length": null, "no-descending-specificity": null, "no-duplicate-selectors": null, - "scss/at-rule-no-unknown": [true, { "ignoreAtRules": ["/tailwind/", "layer"]}], - "no-invalid-position-at-import-rule": null + "no-invalid-position-at-import-rule": null, + "scss/at-rule-no-unknown": [true, { "ignoreAtRules": ["tailwind", "apply", "layer", "config"]}], + "scss/operator-no-unspaced": null, + "selector-class-pattern": null, + "string-quotes": "single" } } diff --git a/app/styles/components/audio-player.scss b/app/styles/components/audio-player.scss index a4b4fae348..4adc73c4ca 100644 --- a/app/styles/components/audio-player.scss +++ b/app/styles/components/audio-player.scss @@ -14,23 +14,23 @@ .video-player__volume::before, .video-player__seek::before { - background: currentColor; + background: currentcolor; opacity: 0.15; } .video-player__seek__buffer { - background: currentColor; + background: currentcolor; opacity: 0.2; } .video-player__buttons button { - color: currentColor; + color: currentcolor; opacity: 0.75; &:active, &:hover, &:focus { - color: currentColor; + color: currentcolor; opacity: 1; } } @@ -38,7 +38,7 @@ .video-player__time-sep, .video-player__time-total, .video-player__time-current { - color: currentColor; + color: currentcolor; } .video-player__seek::before, diff --git a/app/styles/components/buttons.scss b/app/styles/components/buttons.scss index dcb8e23435..810b87f12a 100644 --- a/app/styles/components/buttons.scss +++ b/app/styles/components/buttons.scss @@ -92,9 +92,6 @@ button { button, a.button { &.standard { - - // NOTE - will define the larger standard buttons here and apply class where used. - &-small { @include font-size(11); @include line-height(11); diff --git a/app/styles/components/columns.scss b/app/styles/components/columns.scss index e4402041f9..c71c023f14 100644 --- a/app/styles/components/columns.scss +++ b/app/styles/components/columns.scss @@ -1,4 +1,3 @@ - .column { width: 350px; position: relative; diff --git a/app/styles/components/datepicker.scss b/app/styles/components/datepicker.scss index e45554b119..5b153debca 100644 --- a/app/styles/components/datepicker.scss +++ b/app/styles/components/datepicker.scss @@ -10,12 +10,12 @@ } } -.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, -.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after { +.react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle::before, +.react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle::after { @apply border-b-white dark:border-b-gray-900; } -.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before { +.react-datepicker-popper[data-placement^='bottom'] .react-datepicker__triangle::before { @apply border-b-gray-200 dark:border-b-gray-700; } @@ -143,6 +143,6 @@ .react-datepicker__close-icon::after { @apply bg-transparent text-gray-600 dark:text-gray-400 text-base; font-family: 'Font Awesome 5 Free'; - content: ""; + content: ''; font-weight: 900; } diff --git a/app/styles/components/dropdown-menu.scss b/app/styles/components/dropdown-menu.scss index 52b061c3c8..6c6a1e99b8 100644 --- a/app/styles/components/dropdown-menu.scss +++ b/app/styles/components/dropdown-menu.scss @@ -67,4 +67,3 @@ @apply block my-2 h-[1px] bg-gray-100 dark:bg-gray-800; } } -// end .dropdown-menu diff --git a/app/styles/components/filters.scss b/app/styles/components/filters.scss index 45bd60e7f2..4d985c8c0f 100644 --- a/app/styles/components/filters.scss +++ b/app/styles/components/filters.scss @@ -39,7 +39,7 @@ @apply static; } - input[type="checkbox"] { + input[type='checkbox'] { position: absolute; top: 3px; left: 0; @@ -68,12 +68,12 @@ @apply pr-1 capitalize; &::after { - content: ","; + content: ','; } &:last-of-type { &::after { - content: ""; + content: ''; } } } diff --git a/app/styles/components/icon.scss b/app/styles/components/icon.scss index b49c5412ec..ee0115fd3c 100644 --- a/app/styles/components/icon.scss +++ b/app/styles/components/icon.scss @@ -15,7 +15,7 @@ &--active { &.svg-icon--home svg { - fill: currentColor; + fill: currentcolor; } svg.icon-tabler-search, @@ -26,14 +26,14 @@ svg.icon-tabler-bell, svg.icon-tabler-messages { path:nth-child(2) { - fill: currentColor; + fill: currentcolor; } } svg.icon-tabler-users { circle, circle + path { - fill: currentColor; + fill: currentcolor; } } @@ -41,8 +41,8 @@ stroke: var(--background-color); rect { - fill: currentColor; - stroke: currentColor; + fill: currentcolor; + stroke: currentcolor; } } } diff --git a/app/styles/components/modal.scss b/app/styles/components/modal.scss index 407a6d56b4..34e375acc9 100644 --- a/app/styles/components/modal.scss +++ b/app/styles/components/modal.scss @@ -290,7 +290,7 @@ } } - button[type="button"] { + button[type='button'] { @apply w-full justify-center text-center; } } @@ -332,7 +332,7 @@ &::before, &::after { @apply border-b border-gray-300 dark:border-gray-600; - content: ""; + content: ''; flex: 1; } } diff --git a/app/styles/components/status.scss b/app/styles/components/status.scss index 662cbbe5c8..aeab54646a 100644 --- a/app/styles/components/status.scss +++ b/app/styles/components/status.scss @@ -15,8 +15,8 @@ animation: fade 150ms linear; } -[column-type=filled] .status__wrapper, -[column-type=filled] .status-placeholder { +[column-type='filled'] .status__wrapper, +[column-type='filled'] .status-placeholder { @apply rounded-none shadow-none p-4; } diff --git a/app/styles/components/video-player.scss b/app/styles/components/video-player.scss index 47bda32ed0..4802afa7f7 100644 --- a/app/styles/components/video-player.scss +++ b/app/styles/components/video-player.scss @@ -165,7 +165,7 @@ } &::before { - content: ""; + content: ''; width: 50px; background: rgba(#fff, 0.35); border-radius: 4px; @@ -235,7 +235,7 @@ position: relative; &::before { - content: ""; + content: ''; width: 100%; background: rgba(#fff, 0.35); border-radius: 4px; diff --git a/app/styles/emoji-picker.scss b/app/styles/emoji-picker.scss index 7408e85abf..e7aa3ea340 100644 --- a/app/styles/emoji-picker.scss +++ b/app/styles/emoji-picker.scss @@ -59,7 +59,7 @@ .emoji-mart-anchors svg, .emoji-mart-anchors img { - fill: currentColor; + fill: currentcolor; height: 18px; width: 18px; } diff --git a/package.json b/package.json index b2410ea25b..29d45cc42b 100644 --- a/package.json +++ b/package.json @@ -237,8 +237,7 @@ "react-intl-translations-manager": "^5.0.3", "react-refresh": "^0.14.0", "stylelint": "^14.0.0", - "stylelint-config-standard": "^22.0.0", - "stylelint-scss": "^4.0.0", + "stylelint-config-standard-scss": "^6.1.0", "tailwindcss": "^3.2.1", "ts-jest": "^29.0.0", "webpack-dev-server": "^4.9.1", diff --git a/yarn.lock b/yarn.lock index c0f0d2bf61..ec56d736b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9104,6 +9104,11 @@ 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.2: + version "4.0.6" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-4.0.6.tgz#5d62a574b950a6ae12f2aa89b60d63d9e4432bfd" + integrity sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ== + postcss-selector-parser@6.0.10, postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.9: version "6.0.10" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" @@ -10708,17 +10713,34 @@ stylehacks@^5.1.0: browserslist "^4.16.6" postcss-selector-parser "^6.0.4" -stylelint-config-recommended@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-5.0.0.tgz#fb5653f495a60b4938f2ad3e77712d9e1039ae78" - integrity sha512-c8aubuARSu5A3vEHLBeOSJt1udOdS+1iue7BmJDTSXoCBmfEQmmWX+59vYIj3NQdJBY6a/QRv1ozVFpaB9jaqA== - -stylelint-config-standard@^22.0.0: - version "22.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-22.0.0.tgz#c860be9a13ebbc1b084456fa10527bf13a44addf" - integrity sha512-uQVNi87SHjqTm8+4NIP5NMAyY/arXrBgimaaT7skvRfE9u3JKXRK9KBkbr4pVmeciuCcs64kAdjlxfq6Rur7Hw== +stylelint-config-recommended-scss@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended-scss/-/stylelint-config-recommended-scss-8.0.0.tgz#1c1e93e619fe2275d4c1067928d92e0614f7d64f" + integrity sha512-BxjxEzRaZoQb7Iinc3p92GS6zRdRAkIuEu2ZFLTxJK2e1AIcCb5B5MXY9KOXdGTnYFZ+KKx6R4Fv9zU6CtMYPQ== dependencies: - stylelint-config-recommended "^5.0.0" + postcss-scss "^4.0.2" + stylelint-config-recommended "^9.0.0" + stylelint-scss "^4.0.0" + +stylelint-config-recommended@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz#1c9e07536a8cd875405f8ecef7314916d94e7e40" + integrity sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ== + +stylelint-config-standard-scss@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.1.0.tgz#a6cddd2a9430578b92fc89726a59474d5548a444" + integrity sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q== + dependencies: + stylelint-config-recommended-scss "^8.0.0" + stylelint-config-standard "^29.0.0" + +stylelint-config-standard@^29.0.0: + version "29.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-29.0.0.tgz#4cc0e0f05512a39bb8b8e97853247d3a95d66fa2" + integrity sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg== + dependencies: + stylelint-config-recommended "^9.0.0" stylelint-scss@^4.0.0: version "4.3.0"