UNPKG

@scania/tegel

Version:
451 lines (447 loc) 11.2 kB
@charset "UTF-8"; :host button { all: unset; display: flex; align-items: center; height: 100%; width: 100%; box-sizing: border-box; background-color: var(--tds-dropdown-bg); border-bottom: 1px solid var(--tds-dropdown-border-bottom); border-radius: var(--tds-dropdown-border-radius); padding: 0 16px; } :host button:hover { border-bottom: 1px solid var(--tds-dropdown-border-bottom-hover); } :host button .value-wrapper { flex: 1; min-width: 0; display: flex; align-items: center; padding: 0; } :host button .menu-icon { margin-right: 16px; } :host button.placeholder { color: var(--tds-dropdown-placeholder-color); line-height: 1.3; } :host button.value { color: var(--tds-dropdown-value-color); font: var(--tds-detail-02); letter-spacing: var(--tds-detail-02-ls); /** Needed to not get be affected by overflow:hidden The original line-height is 1.14 */ line-height: 1.3; } :host button:focus { border-bottom: 0; } :host button.error { border-bottom: 1px solid var(--tds-dropdown-error); } :host button.error:focus { border-bottom-color: transparent; } :host button.error:focus::before { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--tds-dropdown-error); } :host button:disabled { color: var(--tds-dropdown-disabled-color); border-bottom: 1px solid transparent; } :host button .menu-icon { margin-right: 0; } :host .dropdown-select:focus-within { outline: 2px solid var(--tds-focus-outline-color); box-shadow: 0 0 0 1px var(--tds-white); outline-offset: 1px; z-index: 1; } :host .filter { display: flex; align-items: center; justify-content: space-between; height: 100%; background-color: var(--tds-dropdown-bg); border-bottom: 1px solid var(--tds-dropdown-border-bottom); padding-left: 16px; border-radius: 4px 4px 0 0; } :host .filter:hover { border-bottom: 1px solid var(--tds-dropdown-border-bottom-hover); } :host .filter.disabled { color: var(--tds-dropdown-disabled-color); border-bottom: 1px solid transparent; } :host .filter.disabled .value-wrapper input { color: var(--tds-dropdown-disabled-color); } :host .filter .value-wrapper { display: flex; align-items: center; width: 100%; height: 100%; } :host .filter .value-wrapper input { color: var(--tds-dropdown-filter-input-color); } :host .filter .label-inside-as-placeholder { position: absolute; font: var(--tds-detail-02); letter-spacing: var(--tds-detail-02-ls); /* Overwrite in order to display ÅÄÖ and similar sign correctly */ line-height: 1.3; color: var(--tds-dropdown-placeholder-color); } :host .filter .label-inside-as-placeholder.lg { top: 20px; } :host .filter .label-inside-as-placeholder.md { top: 16px; } :host .filter .label-inside-as-placeholder.sm { display: none; } :host .filter .label-inside-as-placeholder.selected { font: var(--tds-detail-07); letter-spacing: var(--tds-detail-07-ls); transition: all 0.2s ease-in-out; } :host .filter .label-inside-as-placeholder.selected.lg { top: 12px; } :host .filter .label-inside-as-placeholder.selected.md { top: 8px; } :host .filter .label-inside-as-placeholder.selected.sm { display: none; } :host .filter .label-inside-as-placeholder.selected + .placeholder:not(.sm) { margin-top: 8px; } :host .filter.focus { border-bottom: 0; } :host .filter.focus:hover { border-bottom: 0; } :host .filter.error { border-bottom: 1px solid var(--tds-dropdown-error); } :host .filter.error.focus { border-bottom-color: transparent; } :host .filter.error.focus::before { content: ""; position: absolute; bottom: 0; left: 0; width: 100%; height: 1px; background: var(--tds-dropdown-error); } :host .filter input { flex: 1; all: unset; width: 100%; } :host .filter input::placeholder { color: var(--tds-dropdown-placeholder-color); } :host .filter input:disabled::placeholder { color: var(--tds-dropdown-disabled-color); } :host .filter tds-icon { cursor: pointer; } :host .filter .menu-icon { margin-right: 16px; } :host, :root { --tds-scrollbar-width-standard: thin; --tds-scrollbar-width: 10px; --tds-scrollbar-height: 10px; --tds-scrollbar-thumb-border-width: 3px; --tds-scrollbar-thumb-border-hover-width: 2px; } body { scrollbar-width: thin; } :host { display: block; position: relative; font: var(--tds-detail-02); letter-spacing: var(--tds-detail-02-ls); } :host .label-outside { font: var(--tds-detail-05); letter-spacing: var(--tds-detail-05-ls); color: var(--tds-dropdown-label-color); margin-bottom: 8px; } :host .label-outside.disabled { color: var(--tds-dropdown-disabled-color); } :host .dropdown-select { position: relative; } :host .dropdown-select button:focus { outline: 2px solid var(--tds-focus-outline-color); box-shadow: 0 0 0 1px var(--tds-white); outline-offset: 1px; z-index: 1; border-radius: 0; } :host .dropdown-select button { transition: border-bottom-color var(--tds-motion-duration-fast-02) var(--tds-motion-easing-scania); } :host .dropdown-select button:hover { border-bottom-color: var(--tds-dropdown-border-bottom-hover); } :host .dropdown-select button { border-bottom-color: var(--tds-dropdown-border-bottom); } :host .dropdown-select button.error { border-bottom-color: var(--tds-dropdown-error); } :host .dropdown-select button.error:focus { border-bottom-color: transparent; } :host .dropdown-select.disabled .label-inside, :host .dropdown-select.disabled .placeholder, :host .dropdown-select.disabled .label-inside-as-placeholder, :host .dropdown-select.disabled .value-wrapper, :host .dropdown-select.disabled .menu-icon { color: var(--tds-dropdown-disabled-color); } :host .dropdown-select.disabled button { border: none; } :host .dropdown-select .label-inside { position: absolute; font: var(--tds-detail-02); letter-spacing: var(--tds-detail-02-ls); color: var(--tds-dropdown-label-inside-color); left: 16px; transition: all 0.2s ease-in-out; } :host .dropdown-select .label-inside.lg { top: 20px; left: 16px; } :host .dropdown-select .label-inside.md { top: 16px; left: 16px; } :host .dropdown-select .label-inside.sm { display: none; } :host .dropdown-select .label-inside.xs { display: none; } :host .dropdown-select .label-inside + .placeholder:not(.sm) { margin-top: 8px; } :host .dropdown-select .label-inside.floated { font: var(--tds-detail-07); letter-spacing: var(--tds-detail-07-ls); } :host .dropdown-select .label-inside.floated.lg { top: 12px; } :host .dropdown-select .label-inside.floated.md { top: 8px; } :host .dropdown-select .placeholder { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: var(--tds-placeholder-margin); /* To center the text vertically */ } :host .dropdown-select .placeholder.xs { line-height: 1; } :host .dropdown-select .label-inside-as-placeholder { color: var(--tds-dropdown-placeholder-color); } :host .dropdown-select .label-inside-as-placeholder.selected { position: absolute; font: var(--tds-detail-07); letter-spacing: var(--tds-detail-07-ls); transition: all 0.2s ease-in-out; } :host .dropdown-select .label-inside-as-placeholder.selected.lg { top: 12px; } :host .dropdown-select .label-inside-as-placeholder.selected.md { top: 8px; } :host .dropdown-select .label-inside-as-placeholder.selected.sm { display: none; } :host .dropdown-select .label-inside-as-placeholder.selected + .placeholder:not(.sm) { margin-top: 8px; } :host .dropdown-select.lg { height: 55px; } :host .dropdown-select.md { height: 47px; } :host .dropdown-select.sm { height: 39px; } :host .dropdown-select.xs { height: 29px; } :host .helper { margin-top: 4px; color: var(--tds-dropdown-helper-color); font: var(--tds-detail-05); letter-spacing: var(--tds-detail-05-ls); display: flex; align-items: center; gap: 8px; } :host .helper.error { color: var(--tds-dropdown-error); } :host .helper.disabled { color: var(--tds-dropdown-disabled-color); } :host .dropdown-list { z-index: 100; position: absolute; width: 100%; transform-origin: top; box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.1); border-radius: var(--tds-dropdown-list-border-radius-down); overflow-y: auto; transform: scaleY(0); pointer-events: none; background-color: var(--tds-dropdown-bg); } :host .dropdown-list:hover::-webkit-scrollbar-thumb { border: var(--tds-scrollbar-thumb-border-hover-width) solid transparent; background-clip: padding-box; } :host .dropdown-list::-webkit-scrollbar { width: var(--tds-scrollbar-width); } :host .dropdown-list::-webkit-scrollbar-track { background: var(--tds-scrollbar-track-color); } :host .dropdown-list::-webkit-scrollbar-thumb { border-radius: 40px; background: var(--tds-scrollbar-thumb-color); border: var(--tds-scrollbar-thumb-border-width) solid transparent; background-clip: padding-box; } :host .dropdown-list::-webkit-scrollbar-button { height: 0; width: 0; } @supports not selector(::-webkit-scrollbar) { :host .dropdown-list { scrollbar-color: var(--tds-scrollbar-thumb-color) var(--tds-scrollbar-track-color); scrollbar-width: var(--tds-scrollbar-width-standard); } } :host .dropdown-list.lg { max-height: 312px; } :host .dropdown-list.md { max-height: 312px; } :host .dropdown-list.sm { max-height: 260px; } :host .dropdown-list.xs { max-height: 260px; } :host .dropdown-list.up { bottom: 100%; margin-top: 0; margin-bottom: 1px; transform-origin: bottom; display: flex; flex-direction: column-reverse; border-radius: var(--tds-dropdown-list-border-radius-up); } :host .dropdown-list.up.label-outside { bottom: calc(100% - 24px); } :host .dropdown-list.closed { transform: scaleY(0); pointer-events: none; } :host .dropdown-list.open { transform: scaleY(1); visibility: visible; opacity: 1; pointer-events: auto; } :host .dropdown-list.animation-enter-slide { transition: transform var(--tds-motion-duration-moderate-01) var(--tds-motion-easing-enter); } :host .dropdown-list.animation-exit-slide { transition: transform var(--tds-motion-duration-moderate-01) var(--tds-motion-easing-exit); } :host .dropdown-list .no-result { font: var(--tds-detail-02); letter-spacing: var(--tds-detail-02-ls); display: flex; align-items: center; padding: 0 16px; background-color: var(--tds-dropdown-bg); } :host .dropdown-list .no-result.lg { height: 56px; } :host .dropdown-list .no-result.md { height: 48px; } :host .dropdown-list .no-result.sm { height: 40px; } :host .dropdown-list .no-result.xs { height: 40px; } :host .menu-icon { color: var(--tds-dropdown-menu-icon-color); } :host .clear-icon { cursor: pointer; flex-shrink: 0; margin: 0; margin-right: 8px; color: var(--tds-dropdown-clear-icon-color); padding-right: 8px; border-right: 1px solid var(--tds-dropdown-clear-icon-color); } :host .clear-icon:hover { color: var(--tds-dropdown-clear-icon-hover-color); } :host .clear-icon.hide { display: none; visibility: hidden; } :host tds-icon { transition: transform var(--tds-motion-duration-fast-02) var(--tds-motion-easing-scania); } :host tds-icon.open { transform: rotateZ(180deg); }