6c53fdb525
* main: (70 commits) bin/ci: run OSS suite in SAAS mode for full coverage (#2029) Fix flaky tests caused by leaky show_exceptions twiddling (#2028) Fix ActiveStorage FileNotFoundError with immediate variant processing (#2022) Immediate avatar and embed variants (#2002) Should be in global gitignore Account for browser button styled and adjust mobile padding for perma BG Wrap the overflow menu doc: update style doc reference for LLM agents Fix Identity destruction callback ordering Ensure user toggles on board edit page are cached properly Adopt a cooldown period for dependency updates Add lazy error context for Rails error reporter (#2014) Disable board edit buttons for select all/none when not privileged Autotuner: use structured logging instead of Sentry (#2011) Add datetime to the search results Fix involvement button label Bump mittens to 0.3.1 (#2006) No need to pass Currentl.user since it is the default value for the param Validate email before creating identity during join code redemption Ignore RubyMine project files in .gitignore ...
93 lines
2.6 KiB
CSS
93 lines
2.6 KiB
CSS
@layer utilities {
|
|
.shake {
|
|
animation: shake 400ms both;
|
|
}
|
|
|
|
@keyframes appear-then-fade {
|
|
0%,100% { opacity: 0; }
|
|
5%,60% { opacity: 1; }
|
|
}
|
|
|
|
@keyframes gradient {
|
|
0% { background-position: 0% 50%; }
|
|
50% { background-position: 100% 50%; }
|
|
100% { background-position: 0% 50%; }
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { opacity: 1; }
|
|
50% { opacity: 0.4; }
|
|
100% { opacity: 1; }
|
|
}
|
|
|
|
/* Keyframes */
|
|
@keyframes react {
|
|
0% { transform: scale(0.85); 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 shake {
|
|
0% { transform: translateX(-2rem); }
|
|
25% { transform: translateX(2rem); }
|
|
50% { transform: translateX(-1rem); }
|
|
75% { transform: translateX(1rem); }
|
|
}
|
|
|
|
@keyframes slide-up {
|
|
from { transform: translateY(2rem); }
|
|
to { transform: translateY(0); }
|
|
}
|
|
|
|
@keyframes slide-up-fade-in {
|
|
from { transform: translateY(2rem); opacity: 0; }
|
|
to { transform: translateY(0); opacity: 1; }
|
|
}
|
|
|
|
@keyframes slide-down {
|
|
from { transform: translateY(0); }
|
|
to { transform: translateY(2rem); }
|
|
}
|
|
|
|
@keyframes submitting {
|
|
0% { -webkit-mask-position: 0% 0%, 50% 0%, 100% 0% }
|
|
12.5% { -webkit-mask-position: 0% 50%, 50% 0%, 100% 0% }
|
|
25% { -webkit-mask-position: 0% 100%, 50% 50%, 100% 0% }
|
|
37.5% { -webkit-mask-position: 0% 100%, 50% 100%, 100% 50% }
|
|
50% { -webkit-mask-position: 0% 100%, 50% 100%, 100% 100% }
|
|
62.5% { -webkit-mask-position: 0% 50%, 50% 100%, 100% 100% }
|
|
75% { -webkit-mask-position: 0% 0%, 50% 50%, 100% 100% }
|
|
87.5% { -webkit-mask-position: 0% 0%, 50% 0%, 100% 50% }
|
|
100% { -webkit-mask-position: 0% 0%, 50% 0%, 100% 0% }
|
|
}
|
|
|
|
@keyframes success {
|
|
0% { background-color: var(--color-border-darker); scale: 0.8; }
|
|
33% { background-color: var(--color-border-darker); scale: 1; }
|
|
}
|
|
|
|
@keyframes wobble {
|
|
0% { transform: rotate(calc(var(--bubble-rotate) + 30deg)); }
|
|
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 zoom-fade {
|
|
100% { transform: translateY(-1.5em); scale: 2; opacity: 0; }
|
|
}
|
|
|
|
@keyframes blink {
|
|
50% {
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
}
|