@ebay/skin
Version:
Skin - CSS modules that represent the brand eBay
167 lines (166 loc) • 4.76 kB
CSS
: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;
}
.panel-dialog[role="dialog"] {
background-color: var(--dialog-scrim-color-show);
flex-direction: column;
inset: 0;
overflow: hidden;
position: fixed;
will-change: background-color;
z-index: 100000;
}
.panel-dialog[role="dialog"]:not([hidden]) {
display: flex;
}
.panel-dialog__window {
background-color: var(
--dialog-window-background-color,
var(--color-background-primary)
);
border-right: 1px solid rgba(153, 153, 153, 0.18);
display: flex;
flex: 1 0 auto;
flex-direction: column;
min-height: 55px;
overflow-y: auto;
width: 100%;
will-change: opacity, transform;
}
.panel-dialog__window--end {
align-self: flex-end;
border-left: 1px solid rgba(153, 153, 153, 0.18);
}
.panel-dialog__header {
display: flex;
flex-shrink: 0;
margin: var(--spacing-200) var(--spacing-200) 0;
position: relative;
}
.panel-dialog__header h1,
.panel-dialog__header h2,
.panel-dialog__header h3,
.panel-dialog__header h4,
.panel-dialog__header h5,
.panel-dialog__header h6 {
align-self: center;
flex: 1 1 auto;
margin: 0;
overflow-wrap: anywhere;
}
.panel-dialog__header > :last-child:not(:only-child) {
margin-inline-start: var(--spacing-200);
}
.panel-dialog__header .fake-link {
align-self: flex-start;
outline-offset: 4px;
text-decoration: none;
}
.panel-dialog__main {
box-sizing: border-box;
flex: 1 1 auto;
height: 1px;
overflow-y: auto;
padding: var(--spacing-200);
position: relative;
}
.panel-dialog__main > :first-child {
margin-top: 0;
}
.panel-dialog__main > :last-child {
margin-bottom: 0;
}
.panel-dialog__footer {
display: flex;
flex-direction: column;
justify-content: center;
padding: var(--spacing-200);
position: relative;
}
.panel-dialog__footer > :not(:first-child) {
margin-top: var(--spacing-200);
}
button.icon-btn.panel-dialog__close,
button.icon-btn.panel-dialog__prev {
align-self: flex-start;
border: 0;
height: 32px;
min-width: 32px;
padding: 0;
position: relative;
width: 32px;
z-index: 1;
}
button.icon-btn.panel-dialog__prev {
margin-inline-end: var(--spacing-200);
}
.panel-dialog__title:not(:first-child) {
margin-left: var(--spacing-200);
}
.panel-dialog--hide.panel-dialog--mask-fade,
.panel-dialog--show.panel-dialog--mask-fade {
transition: background-color 0.16s ease-out;
}
.panel-dialog--hide.panel-dialog--mask-fade-slow,
.panel-dialog--show.panel-dialog--mask-fade-slow {
transition: background-color 0.32s ease-out;
}
.panel-dialog--hide .panel-dialog__window--slide,
.panel-dialog--show .panel-dialog__window--slide {
transition: transform 0.32s ease-out;
}
.panel-dialog--hide.panel-dialog--hide,
.panel-dialog--hide.panel-dialog--show-init,
.panel-dialog--show-init.panel-dialog--hide,
.panel-dialog--show-init.panel-dialog--show-init {
display: flex;
}
.panel-dialog--hide.panel-dialog--mask-fade,
.panel-dialog--hide.panel-dialog--mask-fade-slow,
.panel-dialog--show-init.panel-dialog--mask-fade,
.panel-dialog--show-init.panel-dialog--mask-fade-slow {
background-color: var(--dialog-scrim-color-hide);
}
.panel-dialog--hide .panel-dialog__window--slide-left,
.panel-dialog--show-init .panel-dialog__window--slide-left {
transform: translateX(-100%);
}
.panel-dialog--hide .panel-dialog__window--slide-right,
.panel-dialog--show-init .panel-dialog__window--slide-right {
transform: translateX(100%);
}
.panel-dialog--hide .panel-dialog__window--slide,
.panel-dialog--show-init .panel-dialog__window--slide {
transform: translateX(-100%);
}
.panel-dialog--hide .panel-dialog__window--end.panel-dialog__window--slide,
.panel-dialog--show-init
.panel-dialog__window--end.panel-dialog__window--slide {
transform: translateX(100%);
}
.panel-dialog--hide-init.panel-dialog--hide-init,
.panel-dialog--hide-init.panel-dialog--show,
.panel-dialog--show.panel-dialog--hide-init,
.panel-dialog--show.panel-dialog--show {
display: flex;
}
.panel-dialog--hide-init.panel-dialog--mask-fade,
.panel-dialog--hide-init.panel-dialog--mask-fade-slow,
.panel-dialog--show.panel-dialog--mask-fade,
.panel-dialog--show.panel-dialog--mask-fade-slow {
background-color: var(--dialog-scrim-color-show);
}
.panel-dialog--hide-init .panel-dialog__window--slide,
.panel-dialog--show .panel-dialog__window--slide {
transform: translateX(0);
}
[dir="rtl"] button.icon-btn.panel-dialog__prev .icon {
transform: rotate(180deg);
}
@media (min-width: 512px) {
.panel-dialog__window {
width: 384px;
}
}