@inkline/inkline
Version:
Inkline is the intuitive UI Components library that gives you a developer-friendly foundation for building high-quality, accessible, and customizable Vue.js 3 Design Systems.
374 lines (372 loc) • 13.7 kB
CSS
/**
* Toast
*/
.toast {
position: relative;
display: flex;
flex-direction: row;
flex: 1 1 auto;
min-width: 0;
word-wrap: break-word;
overflow: hidden;
border-style: var(--toast--border-style, var(--toast--border-top-style, var(--border-top-style)) var(--toast--border-right-style, var(--border-right-style)) var(--toast--border-bottom-style, var(--border-bottom-style)) var(--toast--border-left-style, var(--border-left-style)));
border-width: var(--toast--border-width, var(--toast--border-top-width, var(--border-top-width)) var(--toast--border-right-width, var(--border-right-width)) var(--toast--border-bottom-width, var(--border-bottom-width)) var(--toast--border-left-width, var(--border-left-width)));
border-color: var(--toast--border-color, var(--toast--border-top-color, var(--border-top-color)) var(--toast--border-right-color, var(--border-right-color)) var(--toast--border-bottom-color, var(--border-bottom-color)) var(--toast--border-left-color, var(--border-left-color)));
border-radius: var(--toast--border-radius, var(--toast--border-top-left-radius, var(--border-top-left-radius)) var(--toast--border-top-right-radius, var(--border-top-right-radius)) var(--toast--border-bottom-right-radius, var(--border-bottom-right-radius)) var(--toast--border-bottom-left-radius, var(--border-bottom-left-radius)));
font-size: var(--toast--font-size, var(--font-size));
box-shadow: var(--toast--box-shadow, var(--toast--box-shadow-x-offset, var(--box-shadow-offset-x)) var(--toast--box-shadow-y-offset, var(--box-shadow-offset-y)) var(--toast--box-shadow-blur-radius, var(--box-shadow-blur-radius)) var(--toast--box-shadow-spread-radius, var(--box-shadow-spread-radius)) var(--toast--box-shadow-color, var(--box-shadow-color)));
background: var(--toast--background);
color: var(--toast--color);
background-clip: border-box;
transition-property: var(--toast--transition-property, background-color, color, border-color);
transition-duration: var(--toast--transition-duration, var(--transition-duration));
transition-timing-function: var(--toast--transition-timing-function, var(--transition-timing-function));
align-items: center;
}
.toast a {
color: var(--toast--link--color, var(--toast--color));
font-weight: 600;
transition-property: var(--toast--link--transition-property, color);
transition-duration: var(--toast--transition-duration, var(--transition-duration));
transition-timing-function: var(--toast--transition-timing-function, var(--transition-timing-function));
}
.toast a:hover, .toast a:focus {
color: var(--toast--link-color, var(--color));
}
.toast code {
background: var(--toast--code--background);
color: var(--toast--code--color);
}
.toast > .toast-content {
padding: var(--toast--padding, var(--toast--padding-top, var(--padding-top)) var(--toast--padding-right, var(--padding-right)) var(--toast--padding-bottom, var(--padding-bottom)) var(--toast--padding-left, var(--padding-left)));
}
.toast > .toast-content > .toast-title {
font-weight: var(--toast--title--font-weight, var(--font-weight-semibold));
}
.toast > .toast-icon {
padding-left: var(--toast--padding-left, var(--padding-left));
border-color: var(--toast--border-color, var(--toast--border-top-color, var(--border-top-color)) var(--toast--border-right-color, var(--border-right-color)) var(--toast--border-bottom-color, var(--border-bottom-color)) var(--toast--border-left-color, var(--border-left-color)));
flex: 1;
display: inline-flex;
align-items: center;
justify-content: center;
}
.toast > .toast-dismiss {
flex: 0 0 auto;
cursor: pointer;
display: inline-block;
text-align: center;
margin-right: var(--toast--padding-left, var(--padding-left));
}
.toast > .toast-progress {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: var(--toast--progress--height, 0.25rem);
background: var(--toast--progress--background);
z-index: 1;
}
.toast > .toast-progress .toast-progress-bar {
animation: toast-duration var(--toast--duration) forwards;
transform-origin: left center;
width: 100%;
height: 100%;
background: var(--toast--progress-bar--background);
}
.toast,
.toast > .toast-content {
flex: 0 1 100%;
}
.toast > hr,
.toast > .toast-content > hr {
margin-right: 0;
margin-left: 0;
}
.toast > *:first-of-type,
.toast > .toast-content > *:first-of-type {
margin-top: 0;
}
.toast > *:last-of-type,
.toast > .toast-content > *:last-of-type {
margin-bottom: 0;
}
@keyframes toast-duration {
to {
/* More performant than animating `width` */
transform: scaleX(0);
}
}
/**
* Color variants
*/
.toast.-light {
--toast--background: var(--toast--light--background, var(--color-white));
--toast--border-top-color: var(
--toast--light--border-top-color,
var(--color-light-shade-50)
);
--toast--border-right-color: var(
--toast--light--border-right-color,
var(--color-light-shade-50)
);
--toast--border-bottom-color: var(
--toast--light--border-bottom-color,
var(--color-light-shade-50)
);
--toast--border-left-color: var(
--toast--light--border-left-color,
var(--color-light-shade-50)
);
--toast--color: var(--toast--light--color, var(--contrast-text-color-light));
--toast--progress--background: var(
--toast--light--progress--background,
rgba(0, 0, 0, 0.05)
);
--toast--progress-bar--background: var(
--toast--light--progress-bar--background,
rgba(0, 0, 0, 0.15)
);
}
.toast.-dark {
--toast--background: var(--toast--dark--background, var(--color-dark));
--toast--border-top-color: var(--toast--dark--border-top-color, var(--color-dark-tint-50));
--toast--border-right-color: var(
--toast--dark--border-right-color,
var(--color-dark-tint-50)
);
--toast--border-bottom-color: var(
--toast--dark--border-bottom-color,
var(--color-dark-tint-50)
);
--toast--border-left-color: var(
--toast--dark--border-left-color,
var(--color-dark-tint-50)
);
--toast--color: var(--toast--dark--color, var(--contrast-text-color-dark));
--toast--progress--background: var(
--toast--dark--progress--background,
rgba(255, 255, 255, 0.05)
);
--toast--progress-bar--background: var(
--toast--dark--progress-bar--background,
rgba(255, 255, 255, 0.15)
);
}
.toast.-info {
--toast--background: var(--toast--info--background, var(--color-info-100));
--toast--border-top-color: var(--toast--info--border-top-color, var(--color-info-500));
--toast--border-right-color: var(--toast--info--border-right-color, var(--color-info-500));
--toast--border-bottom-color: var(
--toast--info--border-bottom-color,
var(--color-info-500)
);
--toast--border-left-color: var(--toast--info--border-left-color, var(--color-info-500));
--toast--color: var(--toast--info--color, var(--color-info-800));
--toast--progress--background: var(
--toast--info--progress--background,
rgba(0, 0, 0, 0.05)
);
--toast--progress-bar--background: var(
--toast--info--progress-bar--background,
rgba(0, 0, 0, 0.15)
);
}
.toast.-success {
--toast--background: var(--toast--success--background, var(--color-success-100));
--toast--border-top-color: var(
--toast--success--border-top-color,
var(--color-success-500)
);
--toast--border-right-color: var(
--toast--success--border-right-color,
var(--color-success-500)
);
--toast--border-bottom-color: var(
--toast--success--border-bottom-color,
var(--color-success-500)
);
--toast--border-left-color: var(
--toast--success--border-left-color,
var(--color-success-500)
);
--toast--color: var(--toast--success--color, var(--color-success-800));
--toast--progress--background: var(
--toast--success--progress--background,
rgba(0, 0, 0, 0.05)
);
--toast--progress-bar--background: var(
--toast--success--progress-bar--background,
rgba(0, 0, 0, 0.15)
);
}
.toast.-warning {
--toast--background: var(--toast--warning--background, var(--color-warning-100));
--toast--border-top-color: var(
--toast--warning--border-top-color,
var(--color-warning-500)
);
--toast--border-right-color: var(
--toast--warning--border-right-color,
var(--color-warning-500)
);
--toast--border-bottom-color: var(
--toast--warning--border-bottom-color,
var(--color-warning-500)
);
--toast--border-left-color: var(
--toast--warning--border-left-color,
var(--color-warning-500)
);
--toast--color: var(--toast--warning--color, var(--color-warning-800));
--toast--progress--background: var(
--toast--warning--progress--background,
rgba(0, 0, 0, 0.05)
);
--toast--progress-bar--background: var(
--toast--warning--progress-bar--background,
rgba(0, 0, 0, 0.15)
);
}
.toast.-danger {
--toast--background: var(--toast--danger--background, var(--color-danger-100));
--toast--border-top-color: var(--toast--danger--border-top-color, var(--color-danger-500));
--toast--border-right-color: var(
--toast--danger--border-right-color,
var(--color-danger-500)
);
--toast--border-bottom-color: var(
--toast--danger--border-bottom-color,
var(--color-danger-500)
);
--toast--border-left-color: var(
--toast--danger--border-left-color,
var(--color-danger-500)
);
--toast--color: var(--toast--danger--color, var(--color-danger-800));
--toast--progress--background: var(
--toast--danger--progress--background,
rgba(0, 0, 0, 0.05)
);
--toast--progress-bar--background: var(
--toast--danger--progress-bar--background,
rgba(0, 0, 0, 0.15)
);
}
/**
* Size variants
*/
.toast.-sm {
--toast--border-top-left-radius: var(
--toast--sm--border-top-left-radius,
calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
);
--toast--border-top-right-radius: var(
--toast--sm--border-top-right-radius,
calc(var(--border-top-right-radius) * var(--size-multiplier-sm))
);
--toast--border-bottom-right-radius: var(
--toast--sm--border-bottom-right-radius,
calc(var(--border-bottom-right-radius) * var(--size-multiplier-sm))
);
--toast--border-bottom-left-radius: var(
--toast--sm--border-bottom-left-radius,
calc(var(--border-bottom-left-radius) * var(--size-multiplier-sm))
);
--toast--font-size: var(
--toast--sm--font-size,
calc(var(--font-size) * var(--size-multiplier-sm))
);
--toast--padding-top: var(
--toast--sm--padding-top,
calc(var(--padding-top) * var(--size-multiplier-sm))
);
--toast--padding-right: var(
--toast--sm--padding-right,
calc(var(--padding-right) * var(--size-multiplier-sm))
);
--toast--padding-bottom: var(
--toast--sm--padding-bottom,
calc(var(--padding-bottom) * var(--size-multiplier-sm))
);
--toast--padding-left: var(
--toast--sm--padding-left,
calc(var(--padding-left) * var(--size-multiplier-sm))
);
}
.toast.-md {
--toast--border-top-left-radius: var(
--toast--md--border-top-left-radius,
calc(var(--border-top-right-radius) * var(--size-multiplier-md))
);
--toast--border-top-right-radius: var(
--toast--md--border-top-right-radius,
calc(var(--border-top-right-radius) * var(--size-multiplier-md))
);
--toast--border-bottom-right-radius: var(
--toast--md--border-bottom-right-radius,
calc(var(--border-bottom-right-radius) * var(--size-multiplier-md))
);
--toast--border-bottom-left-radius: var(
--toast--md--border-bottom-left-radius,
calc(var(--border-bottom-left-radius) * var(--size-multiplier-md))
);
--toast--font-size: var(
--toast--md--font-size,
calc(var(--font-size) * var(--size-multiplier-md))
);
--toast--padding-top: var(
--toast--md--padding-top,
calc(var(--padding-top) * var(--size-multiplier-md))
);
--toast--padding-right: var(
--toast--md--padding-right,
calc(var(--padding-right) * var(--size-multiplier-md))
);
--toast--padding-bottom: var(
--toast--md--padding-bottom,
calc(var(--padding-bottom) * var(--size-multiplier-md))
);
--toast--padding-left: var(
--toast--md--padding-left,
calc(var(--padding-left) * var(--size-multiplier-md))
);
}
.toast.-lg {
--toast--border-top-left-radius: var(
--toast--lg--border-top-left-radius,
calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
);
--toast--border-top-right-radius: var(
--toast--lg--border-top-right-radius,
calc(var(--border-top-right-radius) * var(--size-multiplier-lg))
);
--toast--border-bottom-right-radius: var(
--toast--lg--border-bottom-right-radius,
calc(var(--border-bottom-right-radius) * var(--size-multiplier-lg))
);
--toast--border-bottom-left-radius: var(
--toast--lg--border-bottom-left-radius,
calc(var(--border-bottom-left-radius) * var(--size-multiplier-lg))
);
--toast--font-size: var(
--toast--lg--font-size,
calc(var(--font-size) * var(--size-multiplier-lg))
);
--toast--padding-top: var(
--toast--lg--padding-top,
calc(var(--padding-top) * var(--size-multiplier-lg))
);
--toast--padding-right: var(
--toast--lg--padding-right,
calc(var(--padding-right) * var(--size-multiplier-lg))
);
--toast--padding-bottom: var(
--toast--lg--padding-bottom,
calc(var(--padding-bottom) * var(--size-multiplier-lg))
);
--toast--padding-left: var(
--toast--lg--padding-left,
calc(var(--padding-left) * var(--size-multiplier-lg))
);
}