2024-11-01 15:35:23 +01:00

104 lines
2.1 KiB
CSS

.button-icon {
display: flex;
align-items: center;
justify-content: center;
background-color: var(
--codex-button-icon-background,
var(--codex-background-light)
);
border-radius: 50%;
cursor: pointer;
transition: box-shadow 0.35s;
border: none;
&.button-icon--big {
width: 4rem;
height: 4rem;
}
&.button-icon--small {
width: 2rem;
height: 2rem;
}
&:not(:disabled):hover {
cursor: pointer;
box-shadow: 0 0 0 2px var(--codex-border-color);
}
&:disabled {
color: var(--codex-color-disabled);
cursor: not-allowed;
}
&.button-icon--buzz {
-webkit-animation-name: buzz;
animation-name: buzz;
-webkit-animation-duration: 0.45s;
animation-duration: 0.45s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: 5;
animation-iteration-count: 5;
}
&.button-icon--bounce {
-webkit-animation-name: bounce;
animation-name: bounce;
-webkit-animation-duration: 0.6s;
animation-duration: 0.6s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: 1;
animation-iteration-count: 1;
}
svg {
mix-blend-mode: difference;
}
}
@keyframes buzz {
0% {
-webkit-transform: translateX(0) rotate(0deg);
transform: translateX(0px) rotate(0deg);
}
25% {
-webkit-transform: translateX(-3px) rotate(-15deg);
transform: translateX(-3px) rotate(-15deg);
}
50% {
-webkit-transform: translateX(0) rotate(0deg);
transform: translateX(0px) rotate(0deg);
}
75% {
-webkit-transform: translateX(3px) rotate(15deg);
transform: translateX(3px) rotate(15deg);
}
100% {
-webkit-transform: translateX(0) rotate(0deg);
transform: translateX(0px) rotate(0deg);
}
}
@keyframes bounce {
0% {
-webkit-transform: translateY(0) scale(1);
transform: translateY(0px) scale(1);
}
50% {
-webkit-transform: translateY(-10px) scale(1);
transform: translateY(-10px) scale(1);
}
100% {
-webkit-transform: translateY(0) scale(1);
transform: translateY(0px) scale(1);
}
}