UNPKG

@shopware-ag/meteor-component-library

Version:

The meteor component library is a Vue component library developed by Shopware. It is based on the [Meteor Design System](https://shopware.design/).

124 lines (121 loc) 3.26 kB
.mt-select { position: relative; min-width: 100px; } .mt-select .mt-block-field__block { background-color: var(--color-background-primary-default); position: relative; overflow: hidden; } .mt-select .mt-select__selection { width: 100%; position: relative; padding: 0 var(--scale-size-8); border: none; font-size: var(--font-size-s); line-height: var(--font-line-height-s); font-family: var(--font-family-body); color: var(--color-icon-primary-default); outline: none; -webkit-appearance: none; -moz-appearance: none; } .mt-select .mt-select__selection-indicators { position: absolute; display: flex; gap: var(--scale-size-8); align-items: center; top: 50%; right: var(--scale-size-16); transform: translate(0, -50%); z-index: 1; } .mt-select .mt-select__selection-indicators .mt-loader { width: var(--scale-size-16); height: var(--scale-size-16); margin: 0; left: -24px; top: -4px; } .mt-select .mt-select__selection-indicators .mt-loader .mt-loader__container { transform: none; left: 0; top: 0; } .mt-select .mt-select__select-indicator-hitbox { background-color: transparent; border: 0 solid transparent; color: var(--color-icon-primary-default); padding: 0 var(--scale-size-4); cursor: pointer; width: var(--scale-size-32); height: var(--scale-size-32); border-radius: var(--border-radius-xs); &:hover, &:focus-visible { background-color: var(--color-interaction-secondary-hover); } &:focus-visible { outline: var(--scale-size-2) solid var(--color-border-brand-default); } } .mt-select .mt-select__select-indicator-hitbox .mt-select__select-indicator { display: block; } .mt-select .mt-select__select-indicator-hitbox:focus .mt-select__select-indicator-clear { opacity: 1; pointer-events: all; cursor: pointer; } .mt-select .mt-select__select-indicator { flex-shrink: 0; cursor: pointer; transition: all 0.3s ease-in-out; } .mt-select .mt-select__select-indicator-rotated { transform: rotate(180deg); } .mt-select .mt-select__select-indicator-clear { transition: 0.1s opacity ease; opacity: 0; pointer-events: none; } .mt-select:hover .mt-select__select-indicator-clear, .mt-select.has--focus .mt-select__select-indicator-clear { opacity: 1; pointer-events: all; cursor: pointer; } .mt-select.mt-field--medium .mt-select__selection { padding: var(--scale-size-4) var(--scale-size-6) 0; } .mt-select.mt-field--small .mt-select__selection { padding: var(--scale-size-4) var(--scale-size-6) 0; } .mt-select.is--disabled .mt-block-field__block, .mt-select.is--disabled .mt-label, .mt-select.is--disabled input { background-color: var(--color-background-tertiary-default); } .mt-select--small { cursor: pointer; } .mt-select--small .mt-select-selection-list--single .mt-label { cursor: pointer; height: var(--scale-size-18); padding-top: 1px; } .mt-select--small .mt-block-field__block { min-height: unset; } /* Vue.js transitions */ .mt-select-result-list-fade-down-enter-active, .mt-select-result-list-fade-down-leave-active { transition: all ease-in-out 0.2s; transform: translateY(0); } .mt-select-result-list-fade-down-enter, .mt-select-result-list-fade-down-leave-to { transform: translateY(-10px); opacity: 0; }