sendou.ink/app/components/elements/Toast.module.css
2026-03-19 17:39:35 +02:00

86 lines
1.4 KiB
CSS

.toastRegion {
flex-direction: column;
gap: 8px;
display: flex;
position: fixed;
top: calc(var(--layout-nav-height) + var(--s-2));
right: 10px;
z-index: 10;
}
.toast {
background: var(--color-info-low);
border-radius: var(--radius-box);
padding: var(--s-1-5) var(--s-3);
align-items: center;
justify-content: center;
font-size: var(--font-sm);
font-weight: var(--weight-semi);
gap: var(--s-1);
border: 2px solid var(--color-info);
width: 250px;
outline: none;
view-transition-class: toast;
}
::view-transition-new(.toast):only-child {
animation: appear 400ms;
}
::view-transition-old(.toast):only-child {
animation: disappear 400ms;
}
@keyframes disappear {
to {
opacity: 0;
}
}
@keyframes appear {
from {
opacity: 0;
}
}
.topRow {
display: flex;
text-transform: uppercase;
color: var(--color-info-high);
font-size: var(--font-xs);
gap: var(--s-2);
align-items: center;
margin-block-end: var(--s-1-5);
}
.errorToast {
border-color: var(--color-error);
background-color: var(--color-error-low);
.topRow {
color: var(--color-error-high);
}
}
.successToast {
border-color: var(--color-success);
background-color: var(--color-success-low);
.topRow {
color: var(--color-success-high);
}
}
.closeButton {
margin-inline-start: auto;
outline-color: var(--color-text) !important;
}
.closeButton svg {
width: 1rem;
}
.alertIcon {
width: 1.25rem;
}