UNPKG

@ebay/skin

Version:

Skin - CSS modules that represent the brand eBay

216 lines (215 loc) 6.26 kB
:root { --dialog-scrim-color-hide: rgb(17 24 32 / 0); --dialog-scrim-color-show: rgb(17 24 32 / 0.7); --dialog-lightbox-max-width: 616px; --state-layer-neutral-on-strong: rgb(var(--color-neutral-900-rgb), 0); --state-layer-neutral: rgb(var(--color-neutral-900-rgb), 0); } @keyframes toast-dialog-open { 0% { opacity: 0; transform: translateY(110%); } to { opacity: 1; transform: translateY(0); } } @keyframes toast-dialog-close { 0% { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(110%); } } .toast-dialog { background-color: var(--color-background-accent); border-top-left-radius: var(--border-radius-100); border-top-right-radius: var(--border-radius-100); box-shadow: 0 0 3px rgba(0, 0, 0, 0.28); color: var(--color-foreground-on-success); inset: auto 0 0; max-height: 40vh; min-width: 320px; position: fixed; transform: translateY(0); width: 100vw; will-change: opacity, transform; z-index: 2; } dialog.toast-dialog { border: none; margin: 0; outline-offset: 2px; padding: 0; } .toast-dialog[open] { animation: toast-dialog-open 0.2s cubic-bezier(0.21, 0.31, 1, 1.22); } .toast-dialog[open].toast-dialog--close { animation: toast-dialog-close 0.2s cubic-bezier(0.21, 0.31, 1, 1.22); } .toast-dialog a { color: var(--color-foreground-on-success); } .toast-dialog a:focus { outline: 1px auto currentColor; } .toast-dialog--transition { transition: opacity 0.2s cubic-bezier(0.21, 0.31, 1, 1.22) 0s, transform 0.2s cubic-bezier(0.21, 0.31, 1, 1.22) 0s; } .toast-dialog--hide-init, .toast-dialog--show { display: block; opacity: 1; transform: translateY(0); } .toast-dialog--hide, .toast-dialog--show-init { display: block; opacity: 0; transform: translateY(110%); } .toast-dialog__window { padding: var(--spacing-100) var(--spacing-200) var(--spacing-200); } .toast-dialog__header { align-items: center; display: flex; } .toast-dialog__header h2, .toast-dialog__title { margin: 0; } button.icon-btn.toast-dialog__close { align-self: flex-start; border: 0; color: var(--color-foreground-on-success); flex-shrink: 0; margin-inline-start: auto; overflow: hidden; padding: 0; position: relative; } button.icon-btn.toast-dialog__close:after { background-color: var(--color-state-layer-neutral); content: ""; inset: 0; pointer-events: none; position: absolute; } button.icon-btn.toast-dialog__close:not( [disabled], [aria-disabled="true"] ):hover:after, button.icon-btn.toast-dialog__close[href]:hover:after { background-color: var(--color-state-layer-hover); } button.icon-btn.toast-dialog__close:not( [disabled], [aria-disabled="true"] ):focus-visible:after, button.icon-btn.toast-dialog__close[href]:focus-visible:after { background-color: var(--color-state-layer-focus); } button.icon-btn.toast-dialog__close:not( [disabled], [aria-disabled="true"] ):active:after, button.icon-btn.toast-dialog__close[href]:active:after { background-color: var(--color-state-layer-pressed); } button.icon-btn.toast-dialog__close:focus { outline: 2px solid var(--color-foreground-on-success); } button.icon-btn.toast-dialog__close > svg { fill: currentColor; } .toast-dialog__footer { display: flex; justify-content: flex-end; } .toast-dialog__footer button:first-letter { text-decoration: underline; } .toast-dialog__footer button.btn--primary, .toast-dialog__footer button.btn--secondary { overflow: hidden; position: relative; } .toast-dialog__footer button.btn--primary:after, .toast-dialog__footer button.btn--secondary:after { background-color: var(--color-state-layer-neutral); content: ""; inset: 0; pointer-events: none; position: absolute; } .toast-dialog__footer button.btn--primary:not([disabled], [aria-disabled="true"]):hover:after, .toast-dialog__footer button.btn--primary[href]:hover:after, .toast-dialog__footer button.btn--secondary:not([disabled], [aria-disabled="true"]):hover:after, .toast-dialog__footer button.btn--secondary[href]:hover:after { background-color: var(--color-state-layer-hover); } .toast-dialog__footer button.btn--primary:not( [disabled], [aria-disabled="true"] ):focus-visible:after, .toast-dialog__footer button.btn--primary[href]:focus-visible:after, .toast-dialog__footer button.btn--secondary:not( [disabled], [aria-disabled="true"] ):focus-visible:after, .toast-dialog__footer button.btn--secondary[href]:focus-visible:after { background-color: var(--color-state-layer-focus); } .toast-dialog__footer button.btn--primary:not([disabled], [aria-disabled="true"]):active:after, .toast-dialog__footer button.btn--primary[href]:active:after, .toast-dialog__footer button.btn--secondary:not([disabled], [aria-disabled="true"]):active:after, .toast-dialog__footer button.btn--secondary[href]:active:after { background-color: var(--color-state-layer-pressed); } .toast-dialog__footer button.btn--primary, .toast-dialog__footer button.btn--secondary { border-color: var(--color-foreground-on-accent); border-style: solid; border-width: 1px; outline-offset: 2px; } .toast-dialog__footer button.btn--primary { background-color: var(--color-background-primary); color: var(--color-foreground-accent); } .toast-dialog__footer button.btn--secondary { background-color: initial; color: var(--color-background-primary); font-weight: 700; margin-inline-end: var(--spacing-100); } .toast-dialog__footer button.btn--primary:focus, .toast-dialog__footer button.btn--secondary:focus { outline: 2px solid var(--color-foreground-on-success); } @media (min-width: 512px) { .toast-dialog { border-radius: var(--border-radius-100); bottom: var(--spacing-200); left: var(--spacing-200); max-width: 480px; width: auto; } .toast-dialog__window { padding: var(--spacing-200) var(--spacing-300) var(--spacing-300); } }