131 lines
2.1 KiB
SCSS
Raw Permalink Normal View History

@keyframes flashing {
0%,
100% {
opacity: 0;
}
2025-03-13 14:25:38 +01:00
50% {
opacity: 1;
}
}
@mixin progress-dot {
content: "\25CF";
2025-03-17 05:14:53 +01:00
font-family:
"Söhne Circle",
system-ui,
-apple-system,
"Segoe UI",
Roboto,
Ubuntu,
Cantarell,
"Noto Sans",
sans-serif;
line-height: normal;
margin-left: 0.25rem;
vertical-align: baseline;
animation: flashing 1.5s 3s infinite;
display: inline-block;
font-size: 1rem;
color: var(--tertiary-medium);
}
.streamable-content.streaming .cooked p:last-child::after {
@include progress-dot;
}
article.streaming .cooked {
.progress-dot::after {
@include progress-dot;
}
> .progress-dot:only-child::after {
// if the progress dot is the only content
// we are likely waiting longer for a response
// so it can start animating instantly
animation: flashing 1.5s infinite;
}
}
@keyframes ai-indicator-wave {
0%,
60%,
100% {
transform: initial;
}
2025-03-13 14:25:38 +01:00
30% {
transform: translateY(-0.2em);
}
}
.ai-indicator-wave {
flex: 0 0 auto;
display: inline-flex;
&__dot {
display: inline-block;
2025-03-13 14:25:38 +01:00
@media (prefers-reduced-motion: no-preference) {
animation: ai-indicator-wave 1.8s linear infinite;
}
2025-03-13 14:25:38 +01:00
&:nth-child(2) {
animation-delay: -1.6s;
}
2025-03-13 14:25:38 +01:00
&:nth-child(3) {
animation-delay: -1.4s;
}
}
}
@keyframes mark-blink {
0%,
100% {
border-color: transparent;
}
50% {
border-color: var(--highlight-high);
}
}
@keyframes fade-in-highlight {
from {
opacity: 0.5;
}
to {
opacity: 1;
}
}
mark.highlight {
background-color: var(--highlight-high);
animation: fade-in-highlight 0.5s ease-in-out forwards;
}
.composer-ai-helper-modal__suggestion.thinking mark.highlight {
animation: mark-blink 1s step-start 0s infinite;
animation-name: mark-blink;
}
.composer-ai-helper-modal__loading {
white-space: pre-wrap;
}
.composer-ai-helper-modal__suggestion.inline-diff {
white-space: pre-wrap;
del:last-child {
text-decoration: none;
background-color: transparent;
color: var(--primary-low-mid);
}
.diff-inner {
display: inline;
}
}