Extract a couple components
This commit is contained in:
@@ -1,64 +1,66 @@
|
||||
/* Animation classes */
|
||||
.shake {
|
||||
animation: shake 400ms both;
|
||||
}
|
||||
@layer utilities {
|
||||
/* Animation classes */
|
||||
.shake {
|
||||
animation: shake 400ms both;
|
||||
}
|
||||
|
||||
@keyframes appear-then-fade {
|
||||
0%,100% { opacity: 0; }
|
||||
5%,60% { opacity: 1; }
|
||||
}
|
||||
@keyframes appear-then-fade {
|
||||
0%,100% { opacity: 0; }
|
||||
5%,60% { opacity: 1; }
|
||||
}
|
||||
|
||||
/* Keyframes */
|
||||
@keyframes float-up-left {
|
||||
0% { transform: translate(10px, 20px); }
|
||||
100% { transform: translate(0, 0); }
|
||||
}
|
||||
/* Keyframes */
|
||||
@keyframes float-up-left {
|
||||
0% { transform: translate(10px, 20px); }
|
||||
100% { transform: translate(0, 0); }
|
||||
}
|
||||
|
||||
@keyframes float-down-right {
|
||||
0% { transform: translate(-10px, -20px); }
|
||||
100% { transform: translate(0, 0); }
|
||||
}
|
||||
@keyframes float-down-right {
|
||||
0% { transform: translate(-10px, -20px); }
|
||||
100% { transform: translate(0, 0); }
|
||||
}
|
||||
|
||||
@keyframes react {
|
||||
0% { transform: scale(0.3); opacity: 0; }
|
||||
50% { transform: scale(1.15); opacity: 1; }
|
||||
100% { transform: scale(1); }
|
||||
}
|
||||
@keyframes react {
|
||||
0% { transform: scale(0.3); opacity: 0; }
|
||||
50% { transform: scale(1.15); opacity: 1; }
|
||||
100% { transform: scale(1); }
|
||||
}
|
||||
|
||||
@keyframes scale-fade-out {
|
||||
0% { transform: scale(1); opacity: 1; }
|
||||
100% { transform: scale(0); opacity: 0; }
|
||||
}
|
||||
@keyframes scale-fade-out {
|
||||
0% { transform: scale(1); opacity: 1; }
|
||||
100% { transform: scale(0); opacity: 0; }
|
||||
}
|
||||
|
||||
@keyframes shake {
|
||||
0% { transform: translateX(-2rem); }
|
||||
25% { transform: translateX(2rem); }
|
||||
50% { transform: translateX(-1rem); }
|
||||
75% { transform: translateX(1rem); }
|
||||
}
|
||||
@keyframes shake {
|
||||
0% { transform: translateX(-2rem); }
|
||||
25% { transform: translateX(2rem); }
|
||||
50% { transform: translateX(-1rem); }
|
||||
75% { transform: translateX(1rem); }
|
||||
}
|
||||
|
||||
@keyframes wobble {
|
||||
0% { transform: rotate(calc(var(--bubble-rotate) + 90deg)); }
|
||||
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
||||
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
||||
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
||||
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
||||
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
||||
}
|
||||
@keyframes wobble {
|
||||
0% { transform: rotate(calc(var(--bubble-rotate) + 90deg)); }
|
||||
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
||||
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
||||
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
||||
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
||||
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
||||
}
|
||||
|
||||
@keyframes wobble-alt {
|
||||
0% { transform: rotate(calc(var(--bubble-rotate) + -90deg)); }
|
||||
12% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
||||
25% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
||||
33% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
||||
50% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
||||
75% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
||||
}
|
||||
@keyframes wobble-alt {
|
||||
0% { transform: rotate(calc(var(--bubble-rotate) + -90deg)); }
|
||||
12% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
||||
25% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
||||
33% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
||||
50% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
||||
75% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
||||
}
|
||||
|
||||
@keyframes wobble-img {
|
||||
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
||||
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
||||
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
||||
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
||||
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
||||
@keyframes wobble-img {
|
||||
15% { border-radius: 66% 34% 72% 28% / 39% 63% 37% 61%; }
|
||||
25% { border-radius: 55% 47% 62% 40% / 58% 50% 52% 44%; }
|
||||
33% { border-radius: 46% 54% 61% 39% / 50% 51% 49% 50%; }
|
||||
50% { border-radius: 54% 46% 61% 39% / 57% 49% 51% 43%; }
|
||||
75% { border-radius: 53% 45% 60% 38% / 56% 48% 50% 42%; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
@layer components {
|
||||
.qr-code {
|
||||
aspect-ratio: 1;
|
||||
block-size: 50dvh;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
@layer components {
|
||||
.separator {
|
||||
block-size: 100%;
|
||||
border-block: 0;
|
||||
border-inline-end: 0;
|
||||
border-inline-start: var(--border-size, 1px) var(--border-style, solid) var(--border-color, currentColor);
|
||||
display: inline-flex;
|
||||
inline-size: 0;
|
||||
}
|
||||
|
||||
.separator--horizontal {
|
||||
block-size: 0;
|
||||
border-block-end: 0;
|
||||
border-block-start: var(--border-size, 1px) var(--border-style, solid) var(--border-color, currentColor);
|
||||
border-inline: 0;
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
@layer components {
|
||||
.spinner {
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
--mask: no-repeat radial-gradient(#000 68%, #0000 71%);
|
||||
--dot-size: 1.25em;
|
||||
|
||||
-webkit-mask: var(--mask), var(--mask), var(--mask);
|
||||
-webkit-mask-size: 28% 45%;
|
||||
animation: submitting 1.3s infinite linear;
|
||||
aspect-ratio: 8/5;
|
||||
background: currentColor;
|
||||
content: "";
|
||||
inline-size: var(--dot-size);
|
||||
inset: 50% 0.25em;
|
||||
margin-block: calc((var(--dot-size) / 3) * -1);
|
||||
margin-inline: calc((var(--dot-size) / 2) * -1);
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -203,52 +203,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* Separators */
|
||||
.separator {
|
||||
block-size: 100%;
|
||||
border-block: 0;
|
||||
border-inline-end: 0;
|
||||
border-inline-start: var(--border-size, 1px) var(--border-style, solid) var(--border-color, currentColor);
|
||||
display: inline-flex;
|
||||
inline-size: 0;
|
||||
}
|
||||
|
||||
.separator--horizontal {
|
||||
block-size: 0;
|
||||
border-block-end: 0;
|
||||
border-block-start: var(--border-size, 1px) var(--border-style, solid) var(--border-color, currentColor);
|
||||
border-inline: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
/* Spinners */
|
||||
.spinner {
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
--mask: no-repeat radial-gradient(#000 68%, #0000 71%);
|
||||
--dot-size: 1.25em;
|
||||
|
||||
-webkit-mask: var(--mask), var(--mask), var(--mask);
|
||||
-webkit-mask-size: 28% 45%;
|
||||
animation: submitting 1.3s infinite linear;
|
||||
aspect-ratio: 8/5;
|
||||
background: currentColor;
|
||||
content: "";
|
||||
inline-size: var(--dot-size);
|
||||
inset: 50% 0.25em;
|
||||
margin-block: calc((var(--dot-size) / 3) * -1);
|
||||
margin-inline: calc((var(--dot-size) / 2) * -1);
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
/* QR Codes */
|
||||
.qr-code {
|
||||
aspect-ratio: 1;
|
||||
block-size: 50dvh;
|
||||
}
|
||||
|
||||
/* Accessibility */
|
||||
.visually-hidden,
|
||||
.for-screen-reader {
|
||||
@@ -263,9 +217,4 @@
|
||||
/* Visibility */
|
||||
[hidden] { display: none !important; }
|
||||
[contents] { display: contents; }
|
||||
|
||||
/* Turbo */
|
||||
turbo-frame {
|
||||
display: contents;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user