[Dev] Stylelint: Raise error for low performance animations (#1738)

This commit is contained in:
Alexander Zinchuk 2022-03-11 13:51:06 +01:00
parent 08464cebcf
commit 1aac51057d
14 changed files with 24 additions and 7 deletions

View File

@ -17,7 +17,6 @@
"plugin/no-low-performance-animation-properties": [ "plugin/no-low-performance-animation-properties": [
true, true,
{ {
"severity": "warning",
"ignore": "paint-properties" "ignore": "paint-properties"
} }
], ],

View File

@ -23,6 +23,7 @@
border-top: 0; border-top: 0;
border-left: 0; border-left: 0;
transform: scaleY(1) rotate(45deg); transform: scaleY(1) rotate(45deg);
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: color 0.2s ease, transform 0.2s ease, top 0.2s ease; transition: color 0.2s ease, transform 0.2s ease, top 0.2s ease;
&.open { &.open {

View File

@ -4,6 +4,7 @@
position: relative; position: relative;
max-height: 12.875rem; max-height: 12.875rem;
width: calc(50% - 0.25rem); width: calc(50% - 0.25rem);
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: 0.25s ease-out width; transition: 0.25s ease-out width;
cursor: pointer; cursor: pointer;

View File

@ -62,6 +62,7 @@
border-color: transparent var(--background-color) transparent var(--background-color); border-color: transparent var(--background-color) transparent var(--background-color);
border-width: 0 1.125rem 1.125rem 0; border-width: 0 1.125rem 1.125rem 0;
border-style: solid; border-style: solid;
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: border-width 0.15s ease-in; transition: border-width 0.15s ease-in;
} }
} }

View File

@ -19,6 +19,7 @@
.tabs-placeholder { .tabs-placeholder {
height: 2.625rem; height: 2.625rem;
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: height 150ms ease; transition: height 150ms ease;
&:not(.open) { &:not(.open) {

View File

@ -66,6 +66,7 @@
&-played { &-played {
background: #fff; background: #fff;
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: width 200ms; transition: width 200ms;
&::after { &::after {

View File

@ -30,6 +30,7 @@
} }
} }
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: bottom 150ms ease-out, transform var(--layer-transition); transition: bottom 150ms ease-out, transform var(--layer-transition);
body.keyboard-visible & { body.keyboard-visible & {
position: relative; position: relative;

View File

@ -8,6 +8,10 @@
z-index: -1; z-index: -1;
background-color: var(--theme-background-color); background-color: var(--theme-background-color);
body:not(.animation-level-0) #root & {
transition: background-color 0.2s;
}
&::after { &::after {
content: ""; content: "";
position: absolute; position: absolute;
@ -21,7 +25,7 @@
background-size: cover; background-size: cover;
body:not(.animation-level-0) #root & { body:not(.animation-level-0) #root & {
transition: transform var(--layer-transition), background 0.2s !important; transition: transform var(--layer-transition), background-image 0.2s;
} }
body.animation-level-0 & { body.animation-level-0 & {
@ -237,6 +241,7 @@
z-index: var(--z-middle-footer); z-index: var(--z-middle-footer);
transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: top 200ms, transform var(--layer-transition); transition: top 200ms, transform var(--layer-transition);
body.animation-level-0 & { body.animation-level-0 & {

View File

@ -31,11 +31,13 @@
@keyframes show-send-as-button { @keyframes show-send-as-button {
from { from {
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
width: 1rem; width: 1rem;
transform: scale(0); transform: scale(0);
} }
to { to {
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
width: 3.5rem; width: 3.5rem;
transform: scale(1); transform: scale(1);
} }
@ -459,6 +461,7 @@
overflow: auto; overflow: auto;
} }
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: height 100ms ease; transition: height 100ms ease;
body.animation-level-0 & { body.animation-level-0 & {

View File

@ -1,5 +1,6 @@
.ComposerEmbeddedMessage { .ComposerEmbeddedMessage {
height: 2.625rem; height: 2.625rem;
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: height 150ms ease-out, opacity 150ms ease-out; transition: height 150ms ease-out, opacity 150ms ease-out;
.select-mode-active + .middle-column-footer & { .select-mode-active + .middle-column-footer & {

View File

@ -38,7 +38,7 @@
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
transition: 0.2s color, 0.2s background; transition: 0.2s color, 0.2s background-image;
} }
.icon { .icon {

View File

@ -1,5 +1,6 @@
.WebPagePreview { .WebPagePreview {
height: 2.625rem; height: 2.625rem;
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: height 150ms ease-out, opacity 150ms ease-out; transition: height 150ms ease-out, opacity 150ms ease-out;
body.animation-level-0 & { body.animation-level-0 & {

View File

@ -167,6 +167,7 @@
margin-inline-start: -0.125rem; margin-inline-start: -0.125rem;
.Avatar { .Avatar {
/* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: border 0.15s; transition: border 0.15s;
border: 2px solid var(--color-background); border: 2px solid var(--color-background);
margin-inline-end: 0; margin-inline-end: 0;

View File

@ -39,11 +39,11 @@
text-indent: -999px; text-indent: -999px;
width: 2.125rem; width: 2.125rem;
height: 0.875rem; height: 0.875rem;
background: var(--color-gray); background-color: var(--color-gray);
display: inline-block; display: inline-block;
border-radius: 0.5rem; border-radius: 0.5rem;
position: relative; position: relative;
transition: background 0.2s ease-in; transition: background-color 0.2s ease-in;
} }
.widget:after { .widget:after {
@ -53,9 +53,10 @@
left: 0; left: 0;
width: 1.125rem; width: 1.125rem;
height: 1.125rem; height: 1.125rem;
background: var(--color-background); background-color: var(--color-background);
border-radius: 0.75rem; border-radius: 0.75rem;
transition: 0.2s ease-out; /* stylelint-disable-next-line plugin/no-low-performance-animation-properties */
transition: border-color 0.2s ease-out;
border: 0.125rem solid var(--color-gray); border: 0.125rem solid var(--color-gray);
} }