UNPKG

@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
/** * 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)) ); }