/* mixins & extensions */ @keyframes in { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes in-down { 0% { opacity: 0; transform: translate3D(0, -5px, 0); } 100% { opacity: 1; transform: translate3D(0, 0, 0); } } @keyframes in-up { 0% { opacity: 0; transform: translate3D(0, 5px, 0); } 100% { opacity: 1; transform: translate3D(0, 0, 0); } } @keyframes in-scale { 0% { opacity: 0; transform: scale3D(0.95, 0.95, 1); } 100% { opacity: 1; transform: scale3D(1, 1, 1); } } :root { --calcite-animation-timing: calc(150ms * var(--calcite-internal-duration-factor)); --calcite-internal-duration-factor: var(--calcite-duration-factor, 1); --calcite-internal-animation-timing-fast: calc(100ms * var(--calcite-internal-duration-factor)); --calcite-internal-animation-timing-medium: calc(200ms * var(--calcite-internal-duration-factor)); --calcite-internal-animation-timing-slow: calc(300ms * var(--calcite-internal-duration-factor)); } .calcite-animate { opacity: 0; animation-fill-mode: both; animation-duration: var(--calcite-animation-timing); } .calcite-animate__in { animation-name: in; } .calcite-animate__in-down { animation-name: in-down; } .calcite-animate__in-up { animation-name: in-up; } .calcite-animate__in-scale { animation-name: in-scale; } /** * Currently only used in Checkbox. */ :root { --calcite-popper-transition: var(--calcite-animation-timing); } :host([hidden]) { display: none; } /** * CSS Custom Properties * * These properties can be overridden using the component's tag as selector. * * @prop --calcite-alert-width: the width of the alert */ :host([scale=s]) { --calcite-alert-width: 40em; --calcite-alert-spacing-token-small: 0.5rem; --calcite-alert-spacing-token-large: 0.75rem; } :host([scale=s]) slot[name=title]::slotted(*), :host([scale=s]) *::slotted([slot=title]) { font-size: var(--calcite-font-size--1); line-height: 1.375; } :host([scale=s]) slot[name=message]::slotted(*), :host([scale=s]) *::slotted([slot=message]) { font-size: var(--calcite-font-size--2); line-height: 1.375; } :host([scale=s]) slot[name=link]::slotted(*), :host([scale=s]) *::slotted([slot=link]) { font-size: var(--calcite-font-size--2); line-height: 1.375; } :host([scale=s]) .alert-queue-count { margin-left: 0.5rem; margin-right: 0.5rem; } :host([scale=s]) .container { --calcite-alert-min-height: 3.5rem; } :host([scale=s]) .alert-close { padding: 0.5rem; } :host([scale=m]) { --calcite-alert-width: 50em; --calcite-alert-spacing-token-small: 0.75rem; --calcite-alert-spacing-token-large: 1rem; } :host([scale=m]) slot[name=title]::slotted(*), :host([scale=m]) *::slotted([slot=title]) { font-size: var(--calcite-font-size-0); line-height: 1.375; } :host([scale=m]) slot[name=message]::slotted(*), :host([scale=m]) *::slotted([slot=message]) { font-size: var(--calcite-font-size--1); line-height: 1.375; } :host([scale=m]) slot[name=link]::slotted(*), :host([scale=m]) *::slotted([slot=link]) { font-size: var(--calcite-font-size--1); line-height: 1.375; } :host([scale=m]) .alert-queue-count { margin-left: 0.75rem; margin-right: 0.75rem; } :host([scale=m]) .container { --calcite-alert-min-height: 4.1875rem; } :host([scale=l]) { --calcite-alert-width: 60em; --calcite-alert-spacing-token-small: 1rem; --calcite-alert-spacing-token-large: 1.25rem; } :host([scale=l]) slot[name=title]::slotted(*), :host([scale=l]) *::slotted([slot=title]) { margin-bottom: 0.25rem; font-size: var(--calcite-font-size-1); line-height: 1.375; } :host([scale=l]) slot[name=message]::slotted(*), :host([scale=l]) *::slotted([slot=message]) { font-size: var(--calcite-font-size-0); line-height: 1.375; } :host([scale=l]) slot[name=link]::slotted(*), :host([scale=l]) *::slotted([slot=link]) { font-size: var(--calcite-font-size-0); line-height: 1.375; } :host([scale=l]) .alert-queue-count { margin-left: 1rem; margin-right: 1rem; } :host([scale=l]) .container { --calcite-alert-min-height: 5.625rem; } :host { --calcite-alert-edge-distance: 2rem; display: block; } :host .container { pointer-events: none; position: fixed; margin-top: 0px; margin-bottom: 0px; margin-left: auto; margin-right: auto; display: flex; align-items: center; justify-content: center; background-color: var(--calcite-ui-foreground-1); opacity: 0; --tw-shadow: 0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08); --tw-shadow-colored: 0 6px 20px -4px var(--tw-shadow-color), 0 4px 12px -2px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); border-radius: var(--calcite-border-radius); border-top: 0px solid transparent; border-left: 1px solid var(--calcite-ui-border-3); border-right: 1px solid var(--calcite-ui-border-3); border-bottom: 1px solid var(--calcite-ui-border-3); min-height: var(--calcite-alert-min-height); width: var(--calcite-alert-width); max-width: calc(100% - (var(--calcite-alert-edge-distance) * 2 + 2px)); max-height: 0; z-index: 101; transition: var(--calcite-internal-animation-timing-slow) cubic-bezier(0.215, 0.44, 0.42, 0.88), opacity var(--calcite-internal-animation-timing-slow) cubic-bezier(0.215, 0.44, 0.42, 0.88), all var(--calcite-animation-timing) ease-in-out; } :host .container.bottom, :host .container.top { inset-inline-end: 0; inset-inline-start: 0; } :host .container[class*=bottom] { transform: translate3d(0, var(--calcite-alert-edge-distance), 0); inset-block-end: var(--calcite-alert-edge-distance); } :host .container[class*=top] { transform: translate3d(0, calc(-1 * var(--calcite-alert-edge-distance)), 0); inset-block-start: var(--calcite-alert-edge-distance); } :host .container[class*=-start] { inset-inline-start: var(--calcite-alert-edge-distance); inset-inline-end: auto; } :host .container[class*=-end] { inset-inline-end: var(--calcite-alert-edge-distance); inset-inline-start: auto; } .container { display: flex; width: 100%; align-items: center; justify-content: center; } .alert-close { outline-offset: 0; outline-color: transparent; transition: outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out; } .alert-close:focus { outline: 2px solid var(--calcite-ui-brand); outline-offset: -2px; } :host([active]) .container:not(.queued) { max-height: 100%; border-top-width: 2px; opacity: 1; pointer-events: initial; } :host([active]) .container:not(.queued)[class*=bottom] { transform: translate3d(0, calc(-1 * var(--calcite-alert-edge-distance)), inherit); } :host([active]) .container:not(.queued)[class*=top] { transform: translate3d(0, var(--calcite-alert-edge-distance), inherit); } slot[name=title]::slotted(*), *::slotted([slot=title]) { font-size: var(--calcite-font-size-0); line-height: 1.375; font-weight: var(--calcite-font-weight-medium); color: var(--calcite-ui-text-1); } slot[name=message]::slotted(*), *::slotted([slot=message]) { margin: 0px; display: inline; font-size: var(--calcite-font-size--1); line-height: 1.375; font-weight: var(--calcite-font-weight-normal); color: var(--calcite-ui-text-2); margin-inline-end: 0.5rem; } slot[name=link]::slotted(*), *::slotted([slot=link]) { display: inline-flex; color: var(--calcite-ui-text-link); } .alert-content { transition-property: all; transition-duration: var(--calcite-animation-timing); transition-timing-function: ease-in-out; transition-delay: 0s; padding: var(--calcite-alert-spacing-token-small) var(--calcite-alert-spacing-token-large); flex: 0 0 auto; overflow-wrap: break-word; background-color: var(--calcite-ui-foreground-1); flex: 1 1 auto; min-width: 0; padding-block: var(--calcite-alert-spacing-token-small); padding-inline: 0 var(--calcite-alert-spacing-token-small); border-bottom-left-radius: var(--calcite-border-radius); border-bottom-right-radius: var(--calcite-border-radius); } .alert-content:first-of-type:not(:only-child) { padding-inline-start: var(--calcite-alert-spacing-token-large); } .alert-content:only-child { padding: var(--calcite-alert-spacing-token-small); } .alert-icon { transition-property: all; transition-duration: var(--calcite-animation-timing); transition-timing-function: ease-in-out; transition-delay: 0s; padding: var(--calcite-alert-spacing-token-small) var(--calcite-alert-spacing-token-large); flex: 0 0 auto; display: flex; align-items: center; align-self: stretch; background-color: var(--calcite-ui-foreground-1); padding-top: 0px; padding-bottom: 0px; } .alert-close { transition-property: all; transition-duration: var(--calcite-animation-timing); transition-timing-function: ease-in-out; transition-delay: 0s; padding: var(--calcite-alert-spacing-token-small) var(--calcite-alert-spacing-token-large); flex: 0 0 auto; cursor: pointer; align-self: stretch; overflow: hidden; border-style: none; background-color: var(--calcite-ui-foreground-1); padding-top: 0px; padding-bottom: 0px; color: var(--calcite-ui-text-3); outline: 2px solid transparent; outline-offset: 2px; border-end-end-radius: var(--calcite-border-radius); } .alert-close:hover, .alert-close:focus { background-color: var(--calcite-ui-foreground-2); color: var(--calcite-ui-text-1); } .alert-close:active { background-color: var(--calcite-ui-foreground-3); } .alert-queue-count { visibility: hidden; display: flex; cursor: default; align-items: center; justify-content: space-around; align-self: stretch; overflow: hidden; background-color: var(--calcite-ui-foreground-1); text-align: center; font-weight: var(--calcite-font-weight-medium); color: var(--calcite-ui-text-2); opacity: 0; transition-property: all; transition-duration: var(--calcite-animation-timing); transition-timing-function: ease-in-out; transition-delay: 0s; border-left: 0px solid transparent; border-right: 0px solid transparent; border-top-right-radius: 0; } .alert-queue-count.active { visibility: visible; opacity: 1; } :host([auto-dismiss]) > .alert-queue-count { border-inline-end: 0px solid transparent; } .alert-dismiss-progress { position: absolute; left: 0px; right: 0px; display: block; width: 100%; overflow: hidden; top: -2px; height: 2px; z-index: 103; border-radius: var(--calcite-border-radius) var(--calcite-border-radius) 0 0; } .alert-dismiss-progress:after { position: absolute; top: 0px; display: block; height: 2px; content: ""; background-color: var(--calcite-alert-dismiss-progress-background); z-index: 104; inset-inline-end: 0; } :host([color=blue]) .container { border-top-color: var(--calcite-ui-info); } :host([color=blue]) .container .alert-icon { color: var(--calcite-ui-info); } :host([color=red]) .container { border-top-color: var(--calcite-ui-danger); } :host([color=red]) .container .alert-icon { color: var(--calcite-ui-danger); } :host([color=yellow]) .container { border-top-color: var(--calcite-ui-warning); } :host([color=yellow]) .container .alert-icon { color: var(--calcite-ui-warning); } :host([color=green]) .container { border-top-color: var(--calcite-ui-success); } :host([color=green]) .container .alert-icon { color: var(--calcite-ui-success); } :host([auto-dismiss-duration=fast]) .alert-dismiss-progress:after { animation: dismissProgress 6000ms ease-out; } :host([auto-dismiss-duration=medium]) .alert-dismiss-progress:after { animation: dismissProgress 10000ms ease-out; } :host([auto-dismiss-duration=slow]) .alert-dismiss-progress:after { animation: dismissProgress 14000ms ease-out; } @keyframes dismissProgress { 0% { width: 0px; opacity: 0.75; } 100% { width: 100%; opacity: 1; } }