UNPKG

@ebay/skin

Version:

Skin - CSS modules that represent the brand eBay

336 lines (314 loc) 7.95 kB
:root { --bubble-shadow: 0 2px 7px rgba(0, 0, 0, 0.15), 0 5px 17px rgba(0, 0, 0, 0.2); } .combobox { box-sizing: border-box; line-height: normal; position: relative; } span.combobox { display: inline-block; vertical-align: bottom; } .combobox__value { flex: 1 0 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .combobox__options--fix-width[role="listbox"] { width: 100%; } .combobox__listbox { background-color: var( --combobox-listbox-background-color, var(--color-background-elevated) ); border-radius: var( --combobox-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; } .combobox__listbox--set-position { min-width: 100%; top: calc(100% + 4px); width: auto; } .combobox__listbox--fixed { position: fixed; } .combobox__listbox--reverse, [dir="rtl"] .combobox__listbox { left: unset; right: 0; } [dir="rtl"] .combobox__listbox--reverse { left: 0; right: unset; } .combobox__control > button, .combobox__control > svg.icon { margin-inline-start: 8px; } .combobox__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; position: relative; width: 100%; } .combobox__option[role^="option"]:focus { outline-offset: -4px; } .combobox__option[role^="option"][hidden] { display: none; } .combobox__option[role^="option"]:hover { color: var( --listbox-option-hover-foreground-color, var(--color-foreground-primary) ); } .combobox__option[role^="option"]:active { font-weight: 700; } .combobox__option[role^="option"]:disabled, .combobox__option[role^="option"][aria-disabled="true"] { background-color: unset; color: var( --listbox-option-disabled-foreground-color, var(--color-foreground-disabled) ); font-weight: unset; } .combobox__option[role^="option"]:first-child { border-top-left-radius: var( --combobox-listbox-border-radius, var(--border-radius-50) ); border-top-right-radius: var( --combobox-listbox-border-radius, var(--border-radius-50) ); } .combobox__option[role^="option"]:last-child { border-bottom-left-radius: var( --combobox-listbox-border-radius, var(--border-radius-50) ); border-bottom-right-radius: var( --combobox-listbox-border-radius, var(--border-radius-50) ); } .combobox__option[role^="option"]:not(:last-child) { margin-bottom: 1px; } .combobox__option[role^="option"]:hover { background-color: var(--color-state-primary-hover); } .combobox__option[role^="option"] svg.icon { align-self: center; fill: currentColor; margin: 0 auto; opacity: 0; stroke: currentColor; stroke-width: 0; } .combobox__option--active[role^="option"] { background-color: var(--color-state-primary-active); } .combobox__option--active[role^="option"] svg.icon { opacity: 1; } .combobox__control button.icon-btn { height: 38px; padding: 0; position: absolute; right: 1px; top: 1px; width: 38px; } .combobox__control button.icon-btn svg { left: 0; margin: 0; right: 0; } .combobox--expanded .combobox__listbox { display: block; } .combobox--expanded svg.icon--12 { transform: rotate(180deg); } .combobox__control > svg.icon--12 { color: var(--combobox-textbox-icon-color, var(--color-foreground-primary)); pointer-events: none; position: absolute; right: 17px; top: calc(50% - 8px); } .combobox__control > input { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: var( --combobox-textbox-background-color, var(--color-background-secondary) ); border-color: var( --combobox-textbox-border-color, var(--color-stroke-default) ); border-radius: var( --combobox-textbox-border-radius, var(--border-radius-50) ); border-style: solid; border-width: 1px; box-sizing: border-box; color: var( --combobox-textbox-foreground-color, var(--color-foreground-on-secondary) ); font-family: inherit; font-size: inherit; height: 40px; margin-left: 0; margin-right: 0; padding: 0 32px 0 16px; } .combobox__control > input[readonly] { color: var( --combobox-textbox-foreground-color, var(--color-foreground-primary) ); cursor: default; text-shadow: 0 0 0 inherit; --webkit-user-select: none; } .combobox__control > input[readonly]::-moz-selection, .combobox__control > input[readonly]::selection { background-color: var( --combobox-textbox-readonly-selection-background, var(--color-background-primary) ); } .combobox__control > input[aria-disabled="true"], .combobox__control > input[disabled] { border-color: var( --combobox-textbox-disabled-border-color, var(--color-background-disabled) ); color: var( --combobox-textbox-disabled-foreground-color, var(--color-foreground-disabled) ); } .combobox__control > input[aria-disabled="true"][readonly], .combobox__control > input[disabled][readonly] { text-shadow: 0 0 0 var(--color-foreground-disabled); } .combobox__control > input[aria-disabled="true"] + svg, .combobox__control > input[disabled] + svg { opacity: 0.5; } .combobox__control > input[aria-invalid="true"] { border-color: var( --combobox-textbox-invalid-foreground-color, var(--color-stroke-attention) ); } .combobox__control > input::-ms-clear { display: none; } .combobox__control--borderless > input { background-color: initial; border-color: transparent; padding-left: 0; } .combobox__control > input:focus { background-color: var( --combobox-textbox-focus-background-color, var(--color-background-primary) ); border-color: var( --combobox-textbox-focus-border-color, var(--color-foreground-primary) ); } .combobox__control--borderless > input:focus { border-color: transparent; outline: none; } .combobox--fluid, .combobox--fluid .combobox__control > input { width: 100%; } .combobox--large .combobox__control > input { font-size: var(--font-size-medium); height: 48px; } .combobox__control > input[disabled] { background-color: var( --combobox-textbox-disabled-background-color, var(--color-background-secondary) ); } .combobox__option--active[role="option"] { color: var( --combobox-listbox-option-hover-foreground-color, var(--color-foreground-primary) ); font-weight: 700; } @media (-ms-high-contrast: active), all and (-ms-high-contrast: none) { .combobox__value, ::-ms-backdrop { min-width: 100%; } } [dir="rtl"] .combobox__control > input { padding: 0 16px 0 32px; } [dir="rtl"] .combobox__control > button, [dir="rtl"] .combobox__control > svg.icon { right: unset; } [dir="rtl"] .combobox__control > svg.icon { left: 16px; margin-top: 1.3px; } [dir="rtl"] .combobox__control > button { left: 0; } [dir="rtl"] .combobox__control button.icon-btn { left: 1px; right: inherit; }