/* 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; } @media (prefers-reduced-motion: reduce) { :root { --calcite-internal-duration-factor: 0.01; } } /** * Currently only used in Checkbox. */ :root { --calcite-floating-ui-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-notice-width: The width of the component. */ :host([scale=s]) { --calcite-notice-spacing-token-small: 0.5rem; --calcite-notice-spacing-token-large: 0.75rem; } :host([scale=s]) .container slot[name=title]::slotted(*), :host([scale=s]) .container *::slotted([slot=title]) { margin-block: 0.125rem; font-size: var(--calcite-font-size--1); line-height: 1.375; } :host([scale=s]) .container slot[name=message]::slotted(*), :host([scale=s]) .container *::slotted([slot=message]) { margin-block: 0.125rem; font-size: var(--calcite-font-size--2); line-height: 1.375; } :host([scale=s]) ::slotted(calcite-link) { margin-block: 0.125rem; font-size: var(--calcite-font-size--2); line-height: 1.375; } :host([scale=s]) .notice-close { padding: 0.5rem; } :host([scale=m]) { --calcite-notice-spacing-token-small: 0.75rem; --calcite-notice-spacing-token-large: 1rem; } :host([scale=m]) .container slot[name=title]::slotted(*), :host([scale=m]) .container *::slotted([slot=title]) { margin-block: 0.125rem; font-size: var(--calcite-font-size-0); line-height: 1.375; } :host([scale=m]) .container slot[name=message]::slotted(*), :host([scale=m]) .container *::slotted([slot=message]) { margin-block: 0.125rem; font-size: var(--calcite-font-size--1); line-height: 1.375; } :host([scale=m]) ::slotted(calcite-link) { margin-block: 0.125rem; font-size: var(--calcite-font-size--1); line-height: 1.375; } :host([scale=l]) { --calcite-notice-spacing-token-small: 1rem; --calcite-notice-spacing-token-large: 1.25rem; } :host([scale=l]) .container slot[name=title]::slotted(*), :host([scale=l]) .container *::slotted([slot=title]) { margin-block: 0.125rem; font-size: var(--calcite-font-size-1); line-height: 1.375; } :host([scale=l]) .container slot[name=message]::slotted(*), :host([scale=l]) .container *::slotted([slot=message]) { margin-block: 0.125rem; font-size: var(--calcite-font-size-0); line-height: 1.375; } :host([scale=l]) ::slotted(calcite-link) { margin-block: 0.125rem; font-size: var(--calcite-font-size-0); line-height: 1.375; } :host([width=auto]) { --calcite-notice-width: auto; } :host([width=half]) { --calcite-notice-width: 50%; } :host([width=full]) { --calcite-notice-width: 100%; } :host { margin-inline: auto; display: none; max-inline-size: 100%; align-items: center; inline-size: var(--calcite-notice-width); } .container { pointer-events: none; margin-block: 0px; box-sizing: border-box; display: none; inline-size: 100%; background-color: var(--calcite-ui-foreground-1); opacity: 0; transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s; max-block-size: 0; text-align: start; border-inline-start: 0px solid; box-shadow: 0 0 0 0 transparent; } .notice-close { outline-color: transparent; } .notice-close:focus { outline: 2px solid var(--calcite-ui-brand); outline-offset: -2px; } :host { display: flex; } :host([open]) .container { pointer-events: auto; display: flex; max-block-size: 100%; align-items: center; border-width: 2px; opacity: 1; --tw-shadow: 0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04); --tw-shadow-colored: 0 4px 8px -1px var(--tw-shadow-color), 0 2px 4px -1px var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .container slot[name=title]::slotted(*), .container *::slotted([slot=title]) { margin: 0px; font-weight: var(--calcite-font-weight-medium); color: var(--calcite-ui-text-1); } .container slot[name=message]::slotted(*), .container *::slotted([slot=message]) { margin: 0px; display: inline; font-weight: var(--calcite-font-weight-normal); color: var(--calcite-ui-text-2); margin-inline-end: var(--calcite-notice-spacing-token-small); } .notice-content { box-sizing: border-box; transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s; padding-inline: var(--calcite-notice-spacing-token-large); flex: 0 0 auto; display: flex; min-inline-size: 0px; flex-direction: column; overflow-wrap: break-word; flex: 1 1 0; padding-block: var(--calcite-notice-spacing-token-small); padding-inline: 0 var(--calcite-notice-spacing-token-small); } .notice-content:first-of-type:not(:only-child) { padding-inline-start: var(--calcite-notice-spacing-token-large); } .notice-content:only-of-type { padding-block: var(--calcite-notice-spacing-token-small); padding-inline: var(--calcite-notice-spacing-token-large); } .notice-icon { display: flex; align-items: center; box-sizing: border-box; transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s; padding-block: var(--calcite-notice-spacing-token-small); padding-inline: var(--calcite-notice-spacing-token-large); flex: 0 0 auto; } .notice-close { display: flex; cursor: pointer; align-items: center; align-self: stretch; border-style: none; background-color: transparent; color: var(--calcite-ui-text-3); outline: 2px solid transparent; outline-offset: 2px; box-sizing: border-box; transition: all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s; padding-block: var(--calcite-notice-spacing-token-small); padding-inline: var(--calcite-notice-spacing-token-large); flex: 0 0 auto; -webkit-appearance: none; } .notice-close:hover, .notice-close:focus { background-color: var(--calcite-ui-foreground-2); color: var(--calcite-ui-text-1); } .notice-close:active { background-color: var(--calcite-ui-foreground-3); } .actions-end { display: flex; align-self: stretch; } :host([color=blue]) .container { border-color: var(--calcite-ui-brand); } :host([color=blue]) .container .notice-icon { color: var(--calcite-ui-brand); } :host([color=red]) .container { border-color: var(--calcite-ui-danger); } :host([color=red]) .container .notice-icon { color: var(--calcite-ui-danger); } :host([color=yellow]) .container { border-color: var(--calcite-ui-warning); } :host([color=yellow]) .container .notice-icon { color: var(--calcite-ui-warning); } :host([color=green]) .container { border-color: var(--calcite-ui-success); } :host([color=green]) .container .notice-icon { color: var(--calcite-ui-success); }