UNPKG

@kelvininc/ui-components

Version:
195 lines (190 loc) 5.1 kB
/** HEADINGS **/ /** LABELS **/ /** SPANS **/ /** PARAGRAPHS **/ /** CODE/CONSOLE **/ @property --rotation { syntax: "<angle>"; initial-value: 0deg; inherits: false; } @keyframes rotate-border { to { --rotation: 360deg; } } :host { /** * @prop --toaster-large-height: Toaster with two messages. * @prop --toaster-small-height: Toaster with one message. * @prop --toaster-width: Toaster width. * @prop --toaster-top-space: Space between Toaster and top of page. * @prop --background-color-default: Toaster background color. * @prop --reset-button-focused: Close button focused. * @prop --toaster-icons-height: toaster icons height * @prop --toaster-icons-width: toaster icons width */ --toaster-large-height: 74px; --toaster-small-height: 56px; --toaster-width: 500px; --toaster-top-space: var(--kv-spacing-4x, 16px); --background-color-default: var(--kv-neutral-6, #3f3f3f); --close-button-focused: var(--kv-neutral-2, #e5e5e5); --toaster-icons-width: 24px; --toaster-icons-height: 24px; } kv-icon { --icon-width: var(--toaster-icons-width); --icon-height: var(--toaster-icons-height); margin-right: var(--kv-spacing-4x, 16px); object-fit: contain; } .toaster-container { position: absolute; top: var(--toaster-top-space); left: 0; right: 0; margin: 0 auto; width: var(--toaster-width); min-height: var(--toaster-small-height); display: flex; align-items: center; justify-content: space-between; z-index: 1000; padding: var(--kv-spacing-4x, 16px); border-left: solid 2px var(--kv-neutral-6, #3f3f3f); background-color: var(--background-color-default); box-sizing: border-box; overflow: hidden; } .toaster-container.toaster-type--info { border-color: var(--kv-info, #276ef1); } .toaster-container.toaster-type--info .toaster-icon kv-icon { --icon-color: var(--kv-info, #276ef1); --icon-background-color: var(--kv-neutral-0, #fff); } .toaster-container.toaster-type--warning { border-color: var(--kv-warning, #ffc043); } .toaster-container.toaster-type--warning .toaster-icon kv-icon { --icon-color: var(--kv-warning, #ffc043); } .toaster-container.toaster-type--error { border-color: var(--kv-error, #e11900); } .toaster-container.toaster-type--error .toaster-icon kv-icon { --icon-color: var(--kv-error, #e11900); --icon-background-color: var(--kv-neutral-0, #fff); } .toaster-container.toaster-type--success { border-color: var(--kv-success, #05a357); } .toaster-container.toaster-type--success .toaster-icon kv-icon { --icon-color: var(--kv-success, #05a357); --icon-background-color: var(--kv-neutral-0, #fff); } .toaster-container.animate-fade-in { animation-duration: 0.5s; animation-name: animate-fade-in-small; animation-fill-mode: backwards; } .toaster-container.animate-fade-out { animation-duration: 0.5s; animation-name: animate-fade-out-small; animation-fill-mode: forwards; } .toaster-container.toaster-container--large { min-height: var(--toaster-large-height); } .toaster-container.toaster-container--large.animate-fade-in { animation-name: animate-fade-in-large; } .toaster-container.toaster-container--large.animate-fade-out { animation-name: animate-fade-out-large; } .toaster-container .toaster-icon { display: flex; align-items: center; } .toaster-container .message-content { flex-grow: 1; display: flex; flex-direction: column; } .toaster-container .message-content .main-message { font-family: var(--kv-primary-font, "proxima-nova", sans-serif, "Arial"); font-size: 14px; font-weight: 600; font-stretch: normal; font-style: normal; line-height: 21px; letter-spacing: normal; text-transform: none; color: var(--kv-neutral-2, #e5e5e5); } .toaster-container .message-content .secondary-message { font-family: var(--kv-primary-font, "proxima-nova", sans-serif, "Arial"); font-size: 14px; font-weight: 400; font-stretch: normal; font-style: normal; line-height: 21px; letter-spacing: normal; text-transform: none; margin-top: var(--kv-spacing, 4px); color: var(--kv-neutral-4, #bebebe); } .toaster-container .toaster-close-icon { display: flex; align-items: center; margin-left: var(--kv-spacing-4x, 16px); } .toaster-container .toaster-close-icon kv-icon { margin: 0; user-select: none; cursor: pointer; } .toaster-container .toaster-close-icon kv-icon:hover { --icon-color: var(--close-button-focused); } @keyframes animate-fade-in-large { from { opacity: 0; margin-top: calc(-1 * var(--toaster-large-height)); } to { opacity: 1; margin-top: 0; } } @keyframes animate-fade-out-large { from { opacity: 1; margin-top: 0; } to { opacity: 0; margin-top: calc(-1 * var(--toaster-large-height)); } } @keyframes animate-fade-in-small { from { opacity: 0; margin-top: calc(-1 * var(--toaster-small-height)); } to { opacity: 1; margin-top: 0; } } @keyframes animate-fade-out-small { from { opacity: 1; margin-top: 0; } to { opacity: 0; margin-top: calc(-1 * var(--toaster-small-height)); } }