@ebay/skin
Version:
Skin - CSS modules that represent the brand eBay
416 lines (415 loc) • 12.5 kB
CSS
:root {
--bubble-shadow: 0 2px 7px rgb(0 0 0 / 0.15), 0 5px 17px rgb(0 0 0 / 0.2);
--state-layer-neutral-on-strong: rgb(var(--color-neutral-900-rgb), 0);
--state-layer-neutral: rgb(var(--color-neutral-900-rgb), 0);
}
.fake-menu-button,
.menu-button {
line-height: normal;
position: relative;
}
.fake-menu-button__menu,
.menu-button__menu {
background-color: var(--color-background-elevated);
border-radius: var(--border-radius-50);
box-shadow: var(--bubble-shadow);
box-sizing: border-box;
display: none;
left: 0;
max-height: 400px;
outline: 0;
overflow-y: auto;
position: absolute;
top: 0;
width: fit-content;
z-index: 2;
}
.fake-menu-button__menu--set-position,
.menu-button__menu--set-position {
min-width: 100%;
top: calc(100% + 4px);
width: auto;
}
.fake-menu-button__menu--fixed,
.menu-button__menu--fixed {
position: fixed;
}
[dir="rtl"] .fake-menu-button__menu,
[dir="rtl"] .menu-button__menu {
left: unset;
right: 0;
}
span.fake-menu-button__button,
span.menu-button__button {
display: inline-block;
vertical-align: bottom;
}
.fake-menu-button__menu {
list-style-type: none;
margin: 0;
max-height: calc(50vh - 40px);
overflow-y: auto;
padding: 0;
}
div.menu-button__item[role^="menuitem"] {
background-color: initial;
border-color: var(
--menu-button-menuitem-border-color,
var(--color-background-primary)
);
border-style: solid;
border-width: 1px;
box-sizing: border-box;
color: var(
--menu-button-menuitem-foreground-color,
var(--color-foreground-primary)
);
cursor: default;
display: inline-grid;
font-family: inherit;
grid-template-columns: auto auto;
justify-content: space-between;
padding: 8px 15px;
width: 100%;
}
div.menu-button__item[role^="menuitem"]:not(:last-child) {
margin-bottom: 1px;
}
div.menu-button__item[role^="menuitem"]:focus {
outline-offset: -4px;
}
div.menu-button__item[role^="menuitem"] {
overflow: hidden;
position: relative;
}
div.menu-button__item[role^="menuitem"]:after {
background-color: var(--color-state-layer-neutral);
content: "";
inset: 0;
pointer-events: none;
position: absolute;
}
div.menu-button__item[role^="menuitem"]:not(
[disabled],
[aria-disabled="true"]
):hover:after,
div.menu-button__item[role^="menuitem"][href]:hover:after {
background-color: var(--color-state-layer-hover);
}
div.menu-button__item[role^="menuitem"]:not(
[disabled],
[aria-disabled="true"]
):focus-visible:after,
div.menu-button__item[role^="menuitem"][href]:focus-visible:after {
background-color: var(--color-state-layer-focus);
}
div.menu-button__item[role^="menuitem"]:not(
[disabled],
[aria-disabled="true"]
):active:after,
div.menu-button__item[role^="menuitem"][href]:active:after {
background-color: var(--color-state-layer-pressed);
}
div.menu-button__item[role^="menuitem"]:active {
font-weight: 700;
}
div.menu-button__item[role^="menuitem"]:first-child {
border-top-left-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
border-top-right-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
}
div.menu-button__item[role^="menuitem"]:last-child {
border-bottom-left-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
border-bottom-right-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
}
.fake-menu-button__item > svg.icon--16,
.menu-button__item > svg.icon--16 {
align-self: center;
fill: currentColor;
margin: 0 auto;
opacity: 0;
stroke: currentColor;
stroke-width: 0;
}
.fake-menu-button__item > svg.icon--16:last-child,
.menu-button__item > svg.icon--16:last-child {
margin-left: var(--spacing-100);
}
a.fake-menu-button__item {
color: var(--menu-button-anchor-color, var(--color-foreground-primary));
text-decoration: none;
}
a.fake-menu-button__item:focus {
text-decoration: underline;
}
a.fake-menu-button__item:hover,
a.fake-menu-button__item:visited {
color: var(--menu-button-anchor-color, var(--color-background-primary));
}
button.fake-menu-button__item {
background-color: var(
--menu-button-background-color,
var(--color-background-primary)
);
color: var(--menu-button-foreground-color, var(--color-foreground-primary));
font-family: inherit;
font-size: 1em;
text-align: left;
}
a.fake-menu-button__item[aria-current="page"] svg.icon--16,
button.fake-menu-button__item[aria-current="page"] svg.icon--16,
div.menu-button__item[role^="menuitem"][aria-checked="true"] svg.icon--16 {
opacity: 1;
}
.menu-button__item[role="menuitemcheckbox"][aria-checked="true"]
svg.icon--unchecked,
.menu-button__item[role="menuitemradio"][aria-checked="true"]
svg.icon--unchecked {
display: none;
}
.menu-button__item[role="menuitemcheckbox"][aria-checked="true"]
svg.icon--checked,
.menu-button__item[role="menuitemradio"][aria-checked="true"]
svg.icon--checked {
display: block;
}
.menu-button__item[role="menuitemcheckbox"] svg.icon--unchecked {
color: var(--color-foreground-secondary);
display: block;
margin-right: var(--spacing-100);
}
.menu-button__item[role="menuitemcheckbox"] svg.icon--checked {
color: var(--color-foreground-primary);
display: none;
margin-right: var(--spacing-100);
}
.menu-button__item[role="menuitemradio"] svg.icon--unchecked {
color: var(--color-foreground-primary);
display: block;
margin-right: var(--spacing-100);
}
.menu-button__item[role="menuitemradio"] svg.icon--checked {
color: var(--color-foreground-primary);
display: none;
margin-right: var(--spacing-100);
}
.fake-menu-button__menu a.fake-menu-button__item,
.fake-menu-button__menu button.fake-menu-button__item {
background-color: initial;
border-color: var(
--menu-button-menuitem-border-color,
var(--color-background-primary)
);
border-style: solid;
border-width: 1px;
box-sizing: border-box;
color: var(
--menu-button-menuitem-foreground-color,
var(--color-foreground-primary)
);
display: inline-grid;
font-family: inherit;
grid-template-columns: auto auto;
justify-content: space-between;
padding: 8px 15px;
width: 100%;
}
.fake-menu-button__menu a.fake-menu-button__item:not(:last-child),
.fake-menu-button__menu button.fake-menu-button__item:not(:last-child) {
margin-bottom: 1px;
}
.fake-menu-button__menu a.fake-menu-button__item:focus,
.fake-menu-button__menu button.fake-menu-button__item:focus {
outline-offset: -4px;
}
.fake-menu-button__menu a.fake-menu-button__item,
.fake-menu-button__menu button.fake-menu-button__item {
overflow: hidden;
position: relative;
}
.fake-menu-button__menu a.fake-menu-button__item:after,
.fake-menu-button__menu button.fake-menu-button__item:after {
background-color: var(--color-state-layer-neutral);
content: "";
inset: 0;
pointer-events: none;
position: absolute;
}
.fake-menu-button__menu
a.fake-menu-button__item:not(
[disabled],
[aria-disabled="true"]
):hover:after,
.fake-menu-button__menu a.fake-menu-button__item[href]:hover:after,
.fake-menu-button__menu
button.fake-menu-button__item:not(
[disabled],
[aria-disabled="true"]
):hover:after,
.fake-menu-button__menu button.fake-menu-button__item[href]:hover:after {
background-color: var(--color-state-layer-hover);
}
.fake-menu-button__menu
a.fake-menu-button__item:not(
[disabled],
[aria-disabled="true"]
):focus-visible:after,
.fake-menu-button__menu a.fake-menu-button__item[href]:focus-visible:after,
.fake-menu-button__menu
button.fake-menu-button__item:not(
[disabled],
[aria-disabled="true"]
):focus-visible:after,
.fake-menu-button__menu
button.fake-menu-button__item[href]:focus-visible:after {
background-color: var(--color-state-layer-focus);
}
.fake-menu-button__menu
a.fake-menu-button__item:not(
[disabled],
[aria-disabled="true"]
):active:after,
.fake-menu-button__menu a.fake-menu-button__item[href]:active:after,
.fake-menu-button__menu
button.fake-menu-button__item:not(
[disabled],
[aria-disabled="true"]
):active:after,
.fake-menu-button__menu button.fake-menu-button__item[href]:active:after {
background-color: var(--color-state-layer-pressed);
}
.fake-menu-button__menu a.fake-menu-button__item:active,
.fake-menu-button__menu button.fake-menu-button__item:active {
font-weight: 700;
}
.fake-menu-button__menu a.fake-menu-button__item:not([href]),
.fake-menu-button__menu button.fake-menu-button__item[disabled],
.menu-button__menu
div.menu-button__item[role^="menuitem"][aria-disabled="true"] {
color: var(
--menu-button-menuitem-disabled-foreground-color,
var(--color-foreground-disabled)
);
}
.fake-menu-button__menu > li:first-child a.fake-menu-button__item {
border-top-left-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
border-top-right-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
}
.fake-menu-button__menu > li:last-child a.fake-menu-button__item {
border-bottom-left-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
border-bottom-right-radius: var(
--menu-button-menu-border-radius,
var(--border-radius-50)
);
}
.fake-menu-button__menu--fix-width,
.menu-button__menu--fix-width {
width: 100%;
}
.fake-menu-button__menu--fix-width span,
.menu-button__menu--fix-width span {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
a.fake-menu-button__item > span,
button.fake-menu-button__item > span,
div.menu-button__item[role^="menuitem"] > span {
flex: 1 0 auto;
white-space: nowrap;
}
a.fake-menu-button__item--badged,
button.fake-menu-button__item--badged,
div.menu-button__item--badged[role^="menuitem"] {
padding-right: 36px;
position: relative;
}
a.fake-menu-button__item--badged .badge,
button.fake-menu-button__item--badged .badge,
div.menu-button__item--badged[role^="menuitem"] .badge {
margin-left: var(--spacing-50);
position: absolute;
top: 6px;
z-index: 1;
}
.menu-button__menu--scroll {
overflow-y: scroll;
}
.fake-menu-button__menu--reverse,
.menu-button__menu--reverse {
left: unset;
right: 0;
}
[dir="rtl"] .fake-menu-button__menu--reverse,
[dir="rtl"] .menu-button__menu--reverse {
left: 0;
right: unset;
}
.fake-menu-button .btn[aria-expanded="true"] ~ .fake-menu-button__menu,
.fake-menu-button .expand-btn[aria-expanded="true"] ~ .fake-menu-button__menu,
.fake-menu-button__button[aria-expanded="true"] ~ .fake-menu-button__menu,
.menu-button .btn[aria-expanded="true"] ~ .menu-button__menu,
.menu-button .expand-btn[aria-expanded="true"] ~ .menu-button__menu,
.menu-button .filter-chip[aria-expanded="true"] ~ .menu-button__menu,
.menu-button__button[aria-expanded="true"] ~ .menu-button__menu {
display: block;
}
.btn ~ .fake-menu-button__menu--static,
.btn ~ .menu-button__menu--static,
.expand-btn ~ .menu-button__menu--static,
.expand_btn ~ .fake-menu-button__menu--static,
.fake-menu-button__button ~ .fake-menu-button__menu--static,
.filter-chip ~ .fake-menu-button__menu--static,
.menu-button__button ~ .menu-button__menu--static {
position: static;
}
div.menu-button__option--active[role="option"] {
font-weight: 700;
}
hr.menu-button__separator {
border-color: var(
--menu-button-separator-color,
var(--color-border-subtle)
);
border-style: solid;
border-width: 1px;
margin: 0;
}
.menu-button__footer {
align-items: center;
background-color: var(--color-background-elevated);
border: none;
border-color: var(--color-border-subtle);
border-top-style: solid;
border-top-width: 1px;
display: flex;
justify-content: center;
padding: var(--spacing-200);
}
.menu-button--filter div.menu-button__item[role^="menuitem"] {
justify-content: flex-start;
}
div.menu-button__item[role^="menuitem"]:focus:not(:focus-visible) {
outline: none;
}