UNPKG

@ebay/skin

Version:

Skin - CSS modules that represent the brand eBay

290 lines (268 loc) 8.27 kB
:root { --dialog-scrim-color-hide: rgba(17, 24, 32, 0); --dialog-scrim-color-show: rgba(17, 24, 32, 0.7); --dialog-lightbox-max-width: 616px; --dialog-lightbox-wide-max-width: 896px; --dialog-lightbox-narrow-max-width: 480px; } .lightbox-dialog[role="dialog"] { background-color: var(--dialog-scrim-color-show); bottom: 0; left: 0; -webkit-overflow-scrolling: touch; align-items: flex-start; justify-content: center; overflow-y: auto; position: fixed; right: 0; top: 0; will-change: background-color; z-index: 100000; } .lightbox-dialog[role="dialog"]:not([hidden]) { display: flex; } .lightbox-dialog__window { background-color: var( --dialog-window-background-color, var(--color-background-primary) ); border-radius: var(--lightbox-border-radius, var(--border-radius-150)); display: flex; flex: 1 0 auto; flex-direction: column; margin: auto auto 16px; max-height: 90%; max-width: calc(100% - 32px); min-height: 55px; min-width: 208px; will-change: opacity, transform; } .lightbox-dialog__header { display: flex; flex-shrink: 0; margin: var(--spacing-200) var(--spacing-200) 0; position: relative; } .lightbox-dialog__header h1, .lightbox-dialog__header h2, .lightbox-dialog__header h3, .lightbox-dialog__header h4, .lightbox-dialog__header h5, .lightbox-dialog__header h6 { align-self: center; flex: 1 1 auto; margin: 0; overflow-wrap: anywhere; } .lightbox-dialog__header > :last-child:not(:only-child) { margin-inline-start: var(--spacing-200); } .lightbox-dialog__main { box-sizing: border-box; flex: 1 1 auto; min-height: 18px; overflow: auto; padding: var(--spacing-200); position: relative; } .lightbox-dialog__main > :first-child { margin-top: 0; } .lightbox-dialog__main > :last-child { margin-bottom: 0; } .lightbox-dialog__footer { border-top: 1px solid var(--dialog-lightbox-separator-color, var(--color-stroke-subtle)); display: flex; flex-direction: column; justify-content: center; padding: var(--spacing-200); position: relative; } .lightbox-dialog__footer > :not(:first-child) { margin-top: var(--spacing-200); } .lightbox-dialog__image { background-position: 50%; background-repeat: no-repeat; background-size: cover; border-radius: var(--border-radius-100) var(--border-radius-100) 0 0; height: 218px; position: absolute; width: 100%; } .lightbox-dialog--expressive .lightbox-dialog__window { padding-bottom: var(--spacing-100); } .lightbox-dialog--expressive .lightbox-dialog__header > * { margin-top: 218px; } .lightbox-dialog--expressive .lightbox-dialog__header { margin: var(--spacing-300) var(--spacing-300) 0; } .lightbox-dialog--expressive .lightbox-dialog__footer, .lightbox-dialog--expressive .lightbox-dialog__main { padding: var(--spacing-200) var(--spacing-300); } button.icon-btn.lightbox-dialog__close, button.icon-btn.lightbox-dialog__prev { align-self: flex-start; border: 0; height: 32px; min-width: 32px; position: relative; width: 32px; z-index: 1; } button.icon-btn.lightbox-dialog__prev { margin-inline-end: var(--spacing-200); } .lightbox-dialog--expressive button.icon-btn.lightbox-dialog__close, .lightbox-dialog--expressive button.icon-btn.lightbox-dialog__prev { align-self: self-start; margin: 0; } .lightbox-dialog--expressive button.icon-btn.lightbox-dialog__prev + * { margin-left: -32px; } .lightbox-dialog__title:not(:first-child) { margin-left: var(--spacing-200); } .lightbox-dialog__title--center { text-align: center; } .lightbox-dialog--hide.lightbox-dialog--mask-fade, .lightbox-dialog--show.lightbox-dialog--mask-fade { transition: background-color 0.16s ease-out; } .lightbox-dialog--hide.lightbox-dialog--mask-fade-slow, .lightbox-dialog--show.lightbox-dialog--mask-fade-slow { transition: background-color 0.32s ease-out; } .lightbox-dialog--hide .lightbox-dialog__window--fade, .lightbox-dialog--show .lightbox-dialog__window--fade { transition: opacity 0.16s ease-out; } .lightbox-dialog--hide .lightbox-dialog__window--animate, .lightbox-dialog--show .lightbox-dialog__window--animate { transition: opacity 0.16s ease-out, transform 0.32s ease-out; } .lightbox-dialog--hide.lightbox-dialog--hide, .lightbox-dialog--hide.lightbox-dialog--show-init, .lightbox-dialog--show-init.lightbox-dialog--hide, .lightbox-dialog--show-init.lightbox-dialog--show-init { display: flex; } .lightbox-dialog--hide.lightbox-dialog--mask-fade, .lightbox-dialog--hide.lightbox-dialog--mask-fade-slow, .lightbox-dialog--show-init.lightbox-dialog--mask-fade, .lightbox-dialog--show-init.lightbox-dialog--mask-fade-slow { background-color: var(--dialog-scrim-color-hide); } .lightbox-dialog--hide .lightbox-dialog__window--fade, .lightbox-dialog--show-init .lightbox-dialog__window--fade { opacity: 0; } .lightbox-dialog--hide .lightbox-dialog__window--animate, .lightbox-dialog--show-init .lightbox-dialog__window--animate { opacity: 0; transform: translateY(100%); } .lightbox-dialog--hide-init.lightbox-dialog--hide-init, .lightbox-dialog--hide-init.lightbox-dialog--show, .lightbox-dialog--show.lightbox-dialog--hide-init, .lightbox-dialog--show.lightbox-dialog--show { display: flex; } .lightbox-dialog--hide-init.lightbox-dialog--mask-fade, .lightbox-dialog--hide-init.lightbox-dialog--mask-fade-slow, .lightbox-dialog--show.lightbox-dialog--mask-fade, .lightbox-dialog--show.lightbox-dialog--mask-fade-slow { background-color: var(--dialog-scrim-color-show); } .lightbox-dialog--hide-init .lightbox-dialog__window--fade, .lightbox-dialog--show .lightbox-dialog__window--fade { opacity: 1; } .lightbox-dialog--hide-init .lightbox-dialog__window--animate, .lightbox-dialog--show .lightbox-dialog__window--animate { opacity: 1; transform: translateY(0); } .lightbox-dialog__handle:after { background-color: var(--dialog-handle-color, var(--color-stroke-default)); border-radius: 3px; content: ""; display: block; height: 2px; width: 24px; } [dir="rtl"] button.icon-btn.lightbox-dialog__prev .icon--16 { transform: rotate(180deg); } .lightbox-dialog--fullscreen .lightbox-dialog__window, .lightbox-dialog--large .lightbox-dialog__window { align-self: center; height: 70%; margin: var(--spacing-100); max-height: 95%; } @media (max-width: 512px) { .lightbox-dialog--large .lightbox-dialog__window { height: 95%; max-height: 95%; width: 100%; } .lightbox-dialog--fullscreen .lightbox-dialog__window { border-radius: 0; height: 100%; margin: 0; max-height: 100%; max-width: 100%; width: 100%; } } @media (min-width: 512px) { .lightbox-dialog__window { border-radius: var(--lightbox-border-radius, var(--border-radius-100)); margin: auto; max-width: calc(88% - var(--spacing-400)); } .lightbox-dialog--narrow .lightbox-dialog__window { max-width: var(--dialog-lightbox-narrow-max-width); } .lightbox-dialog__window .lightbox-dialog__footer { flex-direction: row; justify-content: flex-end; } .lightbox-dialog__window .lightbox-dialog__footer > :not(:first-child) { margin-left: var(--spacing-100); margin-top: 0; } .lightbox-dialog--hide .lightbox-dialog__window--animate, .lightbox-dialog--hide-init .lightbox-dialog__window--animate, .lightbox-dialog--show .lightbox-dialog__window--animate, .lightbox-dialog--show-init .lightbox-dialog__window--animate { transform: translateY(0); } } @media (min-width: 768px) { .lightbox-dialog__window { max-width: var(--dialog-lightbox-max-width); } .lightbox-dialog--wide .lightbox-dialog__window { max-width: var(--dialog-lightbox-wide-max-width); } .lightbox-dialog--wide .lightbox-dialog__image { height: 256px; } .lightbox-dialog--wide.lightbox-dialog--expressive .lightbox-dialog__header > * { margin-top: 256px; } }