Files
WYGIWYH/frontend/src/styles/_animations.scss
2025-12-13 20:47:51 -03:00

287 lines
5.8 KiB
SCSS

/* ----------------------------------------------
* Generated by Animista on 2024-10-8 16:39:17
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
* ----------------------------------------
* animation swing-in-top-fwd
* ----------------------------------------
*/
@keyframes swing-in-top-fwd {
0% {
transform: rotateX(-100deg);
transform-origin: top;
opacity: 0;
}
100% {
transform: rotateX(0deg);
transform-origin: top;
opacity: 1;
}
}
.swing-in-top-fwd {
animation: swing-in-top-fwd 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}
/* ----------------------------------------------
* Generated by Animista on 2024-10-14 20:30:58
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
* ----------------------------------------
* animation slide-in-left
* ----------------------------------------
*/
@keyframes slide-in-left {
0% {
transform: translateX(-1000px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
.slide-in-left {
animation: slide-in-left 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
// HTMX Loading
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes fade-in {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.show-loading.htmx-request {
position: relative;
top: 0;
min-height: 100px;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
backdrop-filter: blur(4px);
z-index: 100;
animation: fade-in 0.1s ease-in forwards;
animation-delay: 200ms;
opacity: 0;
}
&::after {
content: "";
position: absolute;
top: 10%;
left: 50%;
width: 40px;
height: 40px;
border: 4px solid var(--color-primary);
border-top: 4px solid var(--color-base-300);
border-radius: 50%;
animation: spin 1s linear infinite, fade-in 0.1s ease-in forwards;
animation-delay: 200ms;
opacity: 0;
z-index: 101;
}
}
.swing-out-top-bck {
animation: swing-out-top-bck 0.45s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
}
/* ----------------------------------------------
* Generated by Animista on 2024-12-14 15:59:19
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
* ----------------------------------------
* animation swing-out-top-bck
* ----------------------------------------
*/
@keyframes swing-out-top-bck {
0% {
transform: rotateX(0deg);
transform-origin: top;
opacity: 1;
}
100% {
transform: rotateX(-100deg);
transform-origin: top;
opacity: 0;
}
}
/* ----------------------------------------------
* Generated by Animista on 2024-12-21 0:6:39
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
* ----------------------------------------
* animation scale-in-center
* ----------------------------------------
*/
@keyframes scale-in-center {
0% {
transform: scale(0);
opacity: 1;
}
100% {
transform: scale(1);
opacity: 1;
}
}
.scale-in-center {
animation: scale-in-center 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
/* ----------------------------------------------
* Generated by Animista on 2024-12-21 0:8:10
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
* ----------------------------------------
* animation scale-out-center
* ----------------------------------------
*/
@keyframes scale-out-center {
0% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(0);
opacity: 1;
}
}
.scale-out-center {
animation: scale-out-center 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
@keyframes flash {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.3;
}
}
.flashing {
animation: flash 1s infinite;
}
.slide-in-bottom {
animation: slide-in-bottom 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
.slide-in-bottom-reverse {
animation: slide-in-bottom 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) reverse both;
}
/* ----------------------------------------------
* Generated by Animista on 2025-1-25 12:30:4
* Licensed under FreeBSD License.
* See http://animista.net/license for more info.
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
/**
* ----------------------------------------
* animation slide-in-bottom
* ----------------------------------------
*/
@keyframes slide-in-bottom {
0% {
transform: translateY(1000px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
/**
* ----------------------------------------
* animation slide-in-bottom-short
* A variant with smaller translateY for elements at bottom of viewport
* ----------------------------------------
*/
@keyframes slide-in-bottom-short {
0% {
transform: translateY(100%);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
.slide-in-bottom-short {
animation: slide-in-bottom-short 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
.slide-in-bottom-short-reverse {
animation: slide-in-bottom-short 0.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) reverse both;
}
@keyframes disable-pointer-events {
0%,
99% {
pointer-events: none;
}
100% {
pointer-events: auto;
}
}