UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

125 lines (124 loc) 2.76 kB
.esl-select { display: inline-block; position: relative; min-width: 150px; max-width: 100%; } .esl-select [esl-select-target] { /* Visually hidden */ position: absolute; border: 0; padding: 0; overflow: hidden; opacity: 0; clip: rect(0, 0, 0, 0); width: 100%; height: 100%; pointer-events: none; } .esl-select[disabled] { pointer-events: none; color: #aaa; } .esl-select[disabled] .esl-select-text, .esl-select[disabled] .esl-select-renderer::after { color: #aaa; } .esl-select[disabled] .esl-select-clear-btn { display: none; } .esl-select .esl-select-renderer::after { content: '\2BC6'; display: inline-block; flex: 0 0 auto; width: 20px; height: 27px; z-index: 1; padding: 0; pointer-events: none; color: #0097e7; vertical-align: middle; text-align: center; font-weight: bold !important; transition: transform 0.2s linear; transform-origin: center center; } .esl-select[open] .esl-select-renderer::after { transform: rotateX(180deg); } .esl-select [esl-select-target]:invalid + .esl-select-renderer { border: 1px solid #b22; } esl-select-renderer.esl-select-renderer.esl-select-renderer { display: flex; align-items: center; } esl-select-renderer::before { content: attr(empty-text); color: #aaa; } esl-select-renderer[has-value]::before { display: none; } esl-select-renderer .esl-select-text { display: inline-block; white-space: nowrap; max-height: 100%; } esl-select-renderer .esl-select-text + .esl-select-text { margin-left: 10px; } esl-select-renderer .esl-select-text-container { display: block; flex: 1 1 auto; white-space: nowrap; overflow: hidden; } esl-select-renderer .esl-select-clear-btn { flex: 0 0 auto; width: 15px; height: 15px; padding: 0; margin: 0 10px; font-size: 14px; line-height: 14px; border: none; background: transparent; } esl-select-renderer .esl-select-clear-btn::before { content: '\2715'; } esl-select-renderer:not([multiple]) .esl-select-clear-btn { display: none; } .esl-select-dropdown { display: block; position: absolute; top: 0; z-index: 100; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 0.25s linear, visibility 0s linear 0.25s; } .esl-select-dropdown[open] { visibility: visible; pointer-events: all; opacity: 1; transition: opacity 0.25s linear, visibility 0s linear 0s; } .esl-select-dropdown .esl-select-list { max-height: 50vh; box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2); } .esl-select-dropdown .esl-select-list .esl-select-list-container { margin-right: 20px; } .esl-select-dropdown .esl-select-list esl-scrollbar { top: 6px; bottom: 6px; right: 2px; } .esl-select-dropdown .esl-select-list[multiple] esl-scrollbar { top: 56px; }