1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-27 18:50:29 -04:00
jarv.is/assets/sass/components/_animation.scss

117 lines
2.1 KiB
SCSS

@charset "UTF-8";
/*! Magic Waving Hand Emoji™: https://jrvs.io/wave */
.wave {
display: inline-block;
animation: wave 5s infinite;
animation-delay: 1s;
transform-origin: 65% 80%;
will-change: transform; // stylelint-disable-line plugin/no-unsupported-browser-features
}
.beat {
display: inline-block;
animation: beat 10s infinite; // 6 bpm, call 911 if you see this please.
animation-delay: 7.5s; // offset from wave animation
will-change: transform; // stylelint-disable-line plugin/no-unsupported-browser-features
}
// modified from https://tobiasahlin.com/spinkit/
.spinner {
width: 20px;
text-align: center;
display: inline-block;
> div {
width: 5px;
height: 10px;
display: inline-block;
animation: loader 1.4s infinite ease-in-out both;
@include colors() {
background-color: c(medium-light);
}
}
.spin-bounce1 {
animation-delay: -0.32s;
}
.spin-bounce2 {
animation-delay: -0.16s;
}
}
@keyframes wave {
0% {
transform: rotate(0deg);
}
5% {
transform: rotate(14deg);
}
10% {
transform: rotate(-8deg);
}
15% {
transform: rotate(14deg);
}
20% {
transform: rotate(-4deg);
}
25% {
transform: rotate(10deg);
}
30% {
transform: rotate(0deg);
}
// pause for 3.5 out of 5 seconds
100% {
transform: rotate(0deg);
}
}
@keyframes beat {
0% {
transform: scale(1);
}
2% {
transform: scale(1.25);
}
4% {
transform: scale(1);
}
6% {
transform: scale(1.2);
}
8% {
transform: scale(1);
}
// pause for ~9 out of 10 seconds
100% {
transform: scale(1);
}
}
@keyframes loader {
0%,
80%,
100% {
transform: scale(0);
}
40% {
transform: scale(0.6);
}
}
// https://web.dev/prefers-reduced-motion/#(bonus)-forcing-reduced-motion-on-all-websites
@media (prefers-reduced-motion: reduce) {
*,
::before,
::after {
animation-delay: -1ms !important;
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0s !important;
transition-delay: 0s !important;
}
}