@ebay/skin
Version:
Skin - CSS modules that represent the brand eBay
326 lines (300 loc) • 8.41 kB
CSS
:root {
--bubble-shadow:
0 2px 7px rgba(0, 0, 0, 0.15), 0 5px 17px rgba(0, 0, 0, 0.2);
}
.listbox-button {
line-height: normal;
position: relative;
vertical-align: bottom;
}
span.listbox-button {
display: inline-block;
}
.listbox-button .btn {
padding-left: 15px;
padding-right: 15px;
}
span.listbox-button--fluid,
span.listbox-button--fluid .btn,
span.listbox-button--fluid .expand-btn {
width: 100%;
}
div.listbox-button__listbox {
background-color: var(
--listbox-button-listbox-background-color,
var(--color-background-elevated)
);
border-radius: var(
--listbox-button-listbox-border-radius,
var(--border-radius-50)
);
box-shadow: var(--bubble-shadow);
box-sizing: border-box;
display: none;
left: 0;
max-height: 400px;
overflow-y: auto;
position: absolute;
top: 0;
width: -moz-fit-content;
width: fit-content;
z-index: 2;
}
div.listbox-button__listbox--set-position {
min-width: 100%;
top: calc(100% + 4px);
width: auto;
}
div.listbox-button__listbox--fixed {
position: fixed;
}
[dir="rtl"] div.listbox-button__listbox {
left: unset;
right: 0;
}
.listbox-button button.btn[aria-expanded="true"] ~ div.listbox-button__listbox,
button.expand-btn[aria-expanded="true"] ~ div.listbox-button__listbox {
display: block;
}
.listbox-button button[aria-invalid="true"] {
border-color: var(
--listbox-button-invalid-border-color,
var(--color-stroke-attention)
);
}
.listbox-button:not(.listbox-button--error)
button:not(
[disabled],
[aria-disabled="true"],
[aria-invalid="true"]
).btn--form {
border-color: var(
--listbox-button-border-color,
var(--color-stroke-default)
);
}
.listbox-button:not(.listbox-button--error)
button:not(
[disabled],
[aria-disabled="true"],
[aria-invalid="true"]
).btn--form:active,
.listbox-button:not(.listbox-button--error)
button:not(
[disabled],
[aria-disabled="true"],
[aria-invalid="true"]
).btn--form:focus,
.listbox-button:not(.listbox-button--error)
button:not(
[disabled],
[aria-disabled="true"],
[aria-invalid="true"]
).btn--form:hover {
border-color: inherit;
}
.listbox-button button.btn--borderless,
.listbox-button button.expand-btn--borderless {
background-color: initial;
border-color: transparent;
padding-left: 0;
vertical-align: initial;
}
.listbox-button button.btn--borderless:focus,
.listbox-button button.expand-btn--borderless:focus {
outline: none;
text-decoration: underline;
}
.listbox-button
button.btn--borderless[aria-expanded="true"]
~ .listbox-button__listbox,
.listbox-button
button.expand-btn--borderless[aria-expanded="true"]
~ .listbox-button__listbox {
top: 41px;
}
.listbox-button.listbox-button--form button {
background-color: var(
--listbox-button-background-color,
var(--color-background-secondary)
);
border-color: var(
--listbox-button-border-color,
var(--color-stroke-default)
);
color: var(
--listbox-button-foreground-color,
var(--color-foreground-primary)
);
}
.listbox-button.listbox-button--form button[aria-disabled="true"],
.listbox-button.listbox-button--form button[disabled] {
border-color: var(
--listbox-button-disabled-border-color,
var(--color-background-disabled)
);
color: var(
--listbox-button-disabled-foreground-color,
var(--color-foreground-disabled)
);
}
.listbox-button.listbox-button--form button:focus {
background-color: var(
--combobox-textbox-focus-background-color,
var(--color-background-primary)
);
}
.listbox-button.listbox-button--form button[aria-invalid="true"] {
border-color: var(
--listbox-button-invalid-border-color,
var(--color-stroke-attention)
);
}
.listbox-button.listbox-button--error button:not(.btn--borderless) {
background-color: var(
--listbox-button-background-color,
var(--color-background-secondary)
);
border-color: var(
--listbox-button-border-color,
var(--color-stroke-attention)
);
}
.listbox-button .btn__label {
color: var(--listbox-button-label-color, var(--color-foreground-secondary));
margin-right: 3px;
}
.listbox-button--expanded .btn__label {
color: var(--listbox-button-label-color, var(--color-foreground-primary));
}
.listbox-button.listbox-button--error button .btn__floating-label,
.listbox-button.listbox-button--error button .btn__label {
color: var(--listbox-button-label-color, var(--color-foreground-attention));
}
.listbox-button .btn__text {
font-weight: 700;
margin-right: auto;
}
.listbox-button__options {
border-radius: var(--listbox-button-border-radius, var(--border-radius-50));
}
.listbox-button__options[role="listbox"]:focus
.listbox-button__option--active[role="option"] {
background-color: var(--color-state-primary-hover);
}
.listbox-button__option svg.icon {
align-self: center;
fill: currentColor;
margin: 0 auto;
opacity: 0;
stroke: currentColor;
stroke-width: 0;
margin-inline-start: var(--spacing-100);
}
div.listbox-button__option[role="option"][aria-selected="true"] svg.icon {
opacity: 1;
}
.listbox-button__description {
color: var(
--listbox-button-subtitle-color,
var(--color-foreground-secondary)
);
font-size: var(--font-size-small);
font-weight: 400;
grid-column: 1 2;
grid-row: 2;
}
div.listbox-button__option[role="option"] {
background-color: initial;
border-color: var(
--listbox-option-border-color,
var(--color-background-primary)
);
border-style: solid;
border-width: 1px;
box-sizing: border-box;
color: var(
--listbox-option-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.listbox-button__option[role="option"]:not(:last-child) {
margin-bottom: 1px;
}
div.listbox-button__option[role="option"]:focus {
outline-offset: -4px;
}
div.listbox-button__option[role="option"][hidden] {
display: none;
}
div.listbox-button__option[role="option"]:hover {
background-color: var(--color-state-primary-hover);
color: var(
--listbox-option-hover-foreground-color,
var(--color-foreground-primary)
);
}
div.listbox-button__option[role="option"]:active {
font-weight: 700;
}
div.listbox-button__option[role="option"]:disabled,
div.listbox-button__option[role="option"][aria-disabled="true"] {
background-color: unset;
color: var(
--listbox-option-disabled-foreground-color,
var(--color-foreground-disabled)
);
font-weight: unset;
}
div.listbox-button__option[role="option"]:first-child {
border-top-left-radius: var(
--listbox-button-listbox-border-radius,
var(--border-radius-50)
);
border-top-right-radius: var(
--listbox-button-listbox-border-radius,
var(--border-radius-50)
);
}
div.listbox-button__option[role="option"]:last-child {
border-bottom-left-radius: var(
--listbox-button-listbox-border-radius,
var(--border-radius-50)
);
border-bottom-right-radius: var(
--listbox-button-listbox-border-radius,
var(--border-radius-50)
);
}
div.listbox-button__option[role="option"]:disabled .listbox-button__description,
div.listbox-button__option[role="option"][aria-disabled="true"]
.listbox-button__description {
background-color: unset;
color: var(
--listbox-option-disabled-foreground-color,
var(--color-foreground-disabled)
);
font-weight: unset;
}
div.listbox-button__option--active[role="option"] {
font-weight: 700;
}
span.listbox-button__value {
flex: 1 0 auto;
white-space: nowrap;
}
.listbox-button__options:focus:not(:focus-visible) {
outline: none;
}
[dir="rtl"] .listbox-button .btn__label {
color: var(--listbox-button-label-color, var(--color-foreground-secondary));
margin-left: 3px;
margin-right: 0;
}