vuestic-ui
Version:
Vue 3 UI Framework
108 lines • 3.23 kB
CSS
:root,
:host {
--va-toast-display: flex;
--va-toast-width: 330px;
--va-toast-padding: 14px 1.25rem 14px 1.25rem;
--va-toast-border-radius: 8px;
--va-toast-border-color: transparent;
--va-toast-border: 1px solid var(--va-toast-border-color);
--va-toast-background-color: var(--va-background-secondary);
--va-toast-box-shadow: 0 2px 12px 0 var(--va-shadow);
--va-toast-transition: opacity 0.3s, transform 0.3s, left 0.3s, right 0.3s, top 0.4s, bottom 0.3s;
--va-toast-z-index: calc(var(--va-z-index-teleport-overlay) + 100);
/* Title */
--va-toast-title-font-weight: bold;
--va-toast-title-font-size: 1rem;
--va-toast-title-color: #303133;
--va-toast-title-margin: 0 0 6px;
/* Content */
--va-toast-content-font-size: 1rem;
--va-toast-content-line-height: 1.3125;
--va-toast-content-padding-right: 20px;
/* Icon */
--va-toast-icon-height: 24px;
--va-toast-icon-width: 24px;
--va-toast-icon-font-size: 24px;
/* Icon Close */
--va-toast-close-icon-top: 18px;
--va-toast-close-icon-right: 15px;
--va-toast-close-icon-font-size: 1rem;
}
.va-toast {
--va-toast-x-shift: 0px;
--va-toast-animation-x-shift: 0px;
--va-toast-animation-y-shift: 100%;
position: fixed;
box-sizing: border-box;
width: var(--va-toast-width);
padding: var(--va-toast-padding);
display: flex;
align-items: center;
border-radius: var(--va-toast-border-radius);
border: var(--va-toast-border);
background-color: var(--va-toast-background-color);
box-shadow: var(--va-toast-box-shadow);
transition: var(--va-toast-transition);
overflow: hidden;
z-index: var(--va-toast-z-index);
font-family: var(--va-font-family);
transform: translateX(var(--va-toast-x-shift));
}
.va-toast--top-right, .va-toast--bottom-right {
--va-toast-animation-x-shift: 100%;
}
.va-toast--top-left, .va-toast--bottom-left {
--va-toast-animation-x-shift: -100%;
}
.va-toast--top-left, .va-toast--top-center, .va-toast--top-right {
--va-toast-animation-y-shift: -100%;
}
.va-toast--inline {
position: static;
}
.va-toast--multiline {
min-height: 70px;
}
.va-toast__title {
font-weight: var(--va-toast-title-font-weight);
font-size: var(--va-toast-title-font-size);
margin: var(--va-toast-title-margin);
font-size: 0.625rem;
letter-spacing: 0.6px;
line-height: 1.2;
font-weight: 700;
text-transform: uppercase;
}
.va-toast__content {
font-size: var(--va-toast-content-font-size);
line-height: var(--va-toast-content-line-height);
padding-right: var(--va-toast-content-padding-right);
}
.va-toast__content p,
.va-toast__content div {
margin: 0;
}
.va-toast__icon {
height: var(--va-toast-icon-height);
width: var(--va-toast-icon-width);
font-size: var(--va-toast-icon-font-size);
}
.va-toast__close-icon {
position: absolute;
top: 50%;
right: var(--va-toast-close-icon-right);
cursor: pointer;
transform: translateY(-50%);
font-size: var(--va-toast-close-icon-font-siz);
opacity: 0.7;
}
.va-toast__close-icon:hover {
opacity: 1;
}
.va-toast-fade-enter-from {
transform: translateX(calc(var(--va-toast-animation-x-shift) + var(--va-toast-x-shift)));
}
.va-toast-fade-leave-to {
transform: translateY(var(--va-toast-animation-y-shift));
opacity: 0;
}