@postnord/web-components
Version:
PostNord Web Components
183 lines (182 loc) • 4.62 kB
CSS
/* Global utility variables */
/* Input styles */
/* Transition variables */
pn-toast {
position: relative;
display: block;
}
pn-toast .pn-toast {
position: relative;
color: #2d2013;
padding: 1em;
border-radius: 0.5em;
outline: none;
font-size: 1em;
font-weight: 400;
background-color: #e0f8ff;
border-color: #005d92;
display: flex;
align-items: center;
gap: 0.75em;
visibility: visible;
transition-property: visibility;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
pn-toast .pn-toast {
transition-duration: 0s;
transition-delay: 0s;
}
}
pn-toast .pn-toast .pn-ripple {
animation: ripple 0.4s cubic-bezier(0.7, 0, 0.3, 1);
position: absolute;
border-radius: 50%;
background-color: #005d92;
transform: translate(-50%, -50%) scale(0);
opacity: 0.1;
pointer-events: none;
z-index: 3;
}
@keyframes ripple {
to {
transform: translate(-50%, -50%) scale(1);
opacity: 0;
}
}
pn-toast .pn-toast[data-hide] {
visibility: hidden;
transition-delay: 0.2s;
}
pn-toast .pn-toast-heading {
font-size: 1em;
font-style: normal;
font-weight: 500;
margin: 0;
}
pn-toast .pn-toast-text {
font-size: 1em;
font-style: normal;
font-weight: 400;
margin: 0 0 0.25em 0;
}
pn-toast .pn-toast-text:last-child {
margin-bottom: 0;
}
pn-toast .pn-toast-icon .pn-icon-svg path {
fill: #2d2013;
}
pn-toast .pn-toast-content {
display: flex;
flex-direction: column;
align-self: center;
align-items: flex-start;
gap: 0.25em;
margin: 0 auto 0 0;
}
pn-toast .pn-toast-button {
cursor: pointer;
border-radius: 50%;
border: none;
background: none;
padding: 0.25em;
font-size: 1em;
display: flex;
align-items: center;
justify-content: center;
transition-property: background-color, outline-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
@media (prefers-reduced-motion: reduce) {
pn-toast .pn-toast-button {
transition-duration: 0s;
transition-delay: 0s;
}
}
pn-toast .pn-toast-button {
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-toast .pn-toast-button:focus-visible {
outline-color: #005d92;
background-color: #8eddf9;
}
pn-toast .pn-toast-button:hover {
background-color: #8eddf9;
}
pn-toast .pn-toast[data-appearance=success] {
background-color: #dcf6e7;
}
pn-toast .pn-toast[data-appearance=success] .pn-toast-button {
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-toast .pn-toast[data-appearance=success] .pn-toast-button:focus-visible {
outline-color: #005e41;
background-color: #abe3bb;
}
pn-toast .pn-toast[data-appearance=success] .pn-toast-button:hover {
background-color: #abe3bb;
}
pn-toast .pn-toast[data-appearance=success] .pn-ripple {
background-color: #005e41;
}
pn-toast .pn-toast[data-appearance=success] .pn-toast-icon .pn-icon-svg path {
fill: #005e41;
}
pn-toast .pn-toast[data-appearance=success][data-temporary] {
border-color: #005e41;
}
pn-toast .pn-toast[data-appearance=warning] {
background-color: #fff1e3;
}
pn-toast .pn-toast[data-appearance=warning] .pn-toast-button {
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-toast .pn-toast[data-appearance=warning] .pn-toast-button:focus-visible {
outline-color: #99290a;
background-color: #ffc8a3;
}
pn-toast .pn-toast[data-appearance=warning] .pn-toast-button:hover {
background-color: #ffc8a3;
}
pn-toast .pn-toast[data-appearance=warning] .pn-ripple {
background-color: #99290a;
}
pn-toast .pn-toast[data-appearance=warning] .pn-toast-icon .pn-icon-svg path {
fill: #99290a;
}
pn-toast .pn-toast[data-appearance=warning][data-temporary] {
border-color: #ed7123;
}
pn-toast .pn-toast[data-appearance=error] {
background-color: #fdefee;
}
pn-toast .pn-toast[data-appearance=error] .pn-toast-button {
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-toast .pn-toast[data-appearance=error] .pn-toast-button:focus-visible {
outline-color: #a70707;
background-color: #fbc2c1;
}
pn-toast .pn-toast[data-appearance=error] .pn-toast-button:hover {
background-color: #fbc2c1;
}
pn-toast .pn-toast[data-appearance=error] .pn-ripple {
background-color: #a70707;
}
pn-toast .pn-toast[data-appearance=error] .pn-toast-icon .pn-icon-svg path {
fill: #a70707;
}
pn-toast .pn-toast[data-appearance=error][data-temporary] {
border-color: #a70707;
}
pn-toast .pn-toast[data-temporary] {
border-style: solid;
border-width: 0.0625em;
box-shadow: 0 0.125em 0.25em rgba(0, 0, 0, 0.2);
}