UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

295 lines (294 loc) 11.5 kB
/* * Dropdown component * */ /* * Utilities */ .eufemia-scope--10_104_0 .dnb-dropdown { --dropdown-width: 16rem; --dropdown-height: 2rem; --dropdown-height--small: 1.5rem; --dropdown-height--medium: 2.5rem; --dropdown-height--large: 3rem; --dropdown-padding-horizontal: 1rem; --dropdown-focus-border-width: 0.125rem; --dropdown-error-border-width: 0.125rem; --dropdown-text-padding: 0.5rem; --dropdown-button-padding: 0 1rem; --dropdown-border-radius: 0.25rem; --dropdown-foreground-color-primary: var(--color-black-55); --dropdown-foreground-color-error: var(--color-fire-red); --dropdown-background-color-disabled: var(--color-black-3); --dropdown-background-color-error-active: var(--color-fire-red-8); display: inline-flex; align-items: center; font-size: var(--font-size-small); line-height: var(--dropdown-height); } .eufemia-scope--10_104_0 .dnb-dropdown__inner { display: inline-flex; flex-direction: column; margin: 0; padding: 0; width: auto; color: inherit; } .eufemia-scope--10_104_0 .dnb-dropdown__shell { position: relative; width: var(--dropdown-width); height: var(--dropdown-height); margin: 0; padding: 0; color: inherit; } .eufemia-scope--10_104_0 .dnb-dropdown__row { display: inline-flex; } .eufemia-scope--10_104_0 .dnb-dropdown__icon { position: relative; order: 2; display: inline-flex; justify-content: center; pointer-events: none; } .eufemia-scope--10_104_0 .dnb-dropdown__trigger { position: relative; z-index: 1; -webkit-user-select: none; user-select: none; width: 100%; } .eufemia-scope--10_104_0 .dnb-dropdown__trigger.dnb-button { padding: var(--dropdown-button-padding); border-radius: var(--dropdown-border-radius); } .eufemia-scope--10_104_0 .dnb-dropdown--is-popup .dnb-dropdown__trigger.dnb-button { padding: 0; border-radius: 50%; } .eufemia-scope--10_104_0 .dnb-dropdown__text { order: 1; position: relative; z-index: 4; display: inline-block; width: 100%; overflow: hidden; color: inherit; text-align: left; text-overflow: ellipsis; line-height: inherit; font-size: var(--font-size-basis); } .eufemia-scope--10_104_0 .dnb-dropdown__text__inner { display: inherit; overflow: hidden; white-space: nowrap; text-overflow: inherit; } .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger { --border-color: var(--dropdown-foreground-color-error); --border-width: 0.0625rem; box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover[disabled] { cursor: not-allowed; } html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]) { color: var(--dropdown-foreground-color-error); --border-color: var(--dropdown-foreground-color-error); --border-width: var(--dropdown-error-border-width); box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:hover:not([disabled]) .dnb-dropdown__icon .dnb-icon { color: var(--dropdown-foreground-color-error); } .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled], html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active[disabled] { cursor: not-allowed; } .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]), html:not([data-whatintent=touch]) .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger:active:not([disabled]) { color: var(--dropdown-foreground-color-error); background-color: var(--dropdown-background-color-error-active); } .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__trigger, .eufemia-scope--10_104_0 .dnb-dropdown__status--error:not(.dnb-dropdown--opened) .dnb-dropdown__icon { color: var(--dropdown-foreground-color-error); } .eufemia-scope--10_104_0 .dnb-dropdown > .dnb-form-status { transform: translateY(-0.4375rem); } .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-left .dnb-dropdown__text { order: 2; padding-right: 0; padding-left: var(--dropdown-text-padding); } .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-left .dnb-dropdown__icon { order: 1; } .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-right .dnb-dropdown__text { padding-right: var(--dropdown-text-padding); } .eufemia-scope--10_104_0 .dnb-dropdown--independent-width .dnb-dropdown__shell { width: auto; } @media screen and (max-width: 40em) { .eufemia-scope--10_104_0 .dnb-dropdown--action-menu .dnb-dropdown__trigger.dnb-button { padding-left: 0.5rem; padding-right: 0.5rem; border-radius: 50%; } } @media screen and (min-width: 40.00625em) { .eufemia-scope--10_104_0 .dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text { padding: 0 0.5rem; } } @media screen and (max-width: 40em) { .eufemia-scope--10_104_0 .dnb-dropdown--action-menu .dnb-dropdown__shell .dnb-dropdown__text { width: 0; padding: 0; } } .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-left .dnb-button--tertiary ~ .dnb-drawer-list__root--portal { left: -0.5rem; } .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-right .dnb-button--tertiary ~ .dnb-drawer-list__root--portal { left: 0.5rem; } .eufemia-scope--10_104_0 .dnb-dropdown .dnb-button--tertiary.dnb-button--active { box-shadow: none; } .eufemia-scope--10_104_0 .dnb-dropdown .dnb-button--tertiary .dnb-button__text { margin: 0 0.5rem; } .eufemia-scope--10_104_0 .dnb-dropdown .dnb-button--tertiary .dnb-button__text::after { bottom: 0; } .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-left .dnb-button--tertiary .dnb-dropdown__text, .eufemia-scope--10_104_0 .dnb-dropdown--icon-position-right .dnb-button--tertiary .dnb-dropdown__text { padding: 0; } .eufemia-scope--10_104_0 .dnb-dropdown .dnb-button--tertiary { padding: 0; } .eufemia-scope--10_104_0 .dnb-dropdown .dnb-button--tertiary:focus::before { left: 0 !important; right: 0 !important; } .eufemia-scope--10_104_0 .dnb-dropdown--default.dnb-dropdown--is-popup .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--is-popup .dnb-dropdown__trigger { padding: 0; width: var(--dropdown-height); height: var(--dropdown-height); } .eufemia-scope--10_104_0 .dnb-dropdown--is-popup .dnb-dropdown__icon { width: 100%; } .eufemia-scope--10_104_0 .dnb-dropdown--is-popup.dnb-dropdown--scroll .dnb-dropdown__options { min-height: 1rem; } .eufemia-scope--10_104_0 .dnb-dropdown--is-popup .dnb-drawer-list__root { width: var(--dropdown-width); } .eufemia-scope--10_104_0 .dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--small.dnb-dropdown--is-popup .dnb-dropdown__trigger { width: var(--dropdown-height--small); } .eufemia-scope--10_104_0 .dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--medium.dnb-dropdown--is-popup .dnb-dropdown__trigger { width: var(--dropdown-height--medium); } .eufemia-scope--10_104_0 .dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--large.dnb-dropdown--is-popup .dnb-dropdown__trigger { width: var(--dropdown-height--large); } .eufemia-scope--10_104_0 .dnb-dropdown--small .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--small .dnb-dropdown__trigger { height: var(--dropdown-height--small); } .eufemia-scope--10_104_0 .dnb-dropdown--small, .eufemia-scope--10_104_0 .dnb-dropdown--small .dnb-dropdown__trigger.dnb-button { line-height: var(--dropdown-height--small); } .eufemia-scope--10_104_0 .dnb-dropdown--medium .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--medium .dnb-dropdown__trigger { height: var(--dropdown-height--medium); } .eufemia-scope--10_104_0 .dnb-dropdown--medium, .eufemia-scope--10_104_0 .dnb-dropdown--medium .dnb-dropdown__trigger.dnb-button { line-height: var(--dropdown-height--medium); } .eufemia-scope--10_104_0 .dnb-dropdown--large .dnb-dropdown__shell, .eufemia-scope--10_104_0 .dnb-dropdown--large .dnb-dropdown__trigger { height: var(--dropdown-height--large); } .eufemia-scope--10_104_0 .dnb-dropdown--large, .eufemia-scope--10_104_0 .dnb-dropdown--large .dnb-dropdown__trigger.dnb-button { line-height: var(--dropdown-height--large); } .eufemia-scope--10_104_0 .dnb-dropdown--large .dnb-dropdown__trigger.dnb-button .dnb-dropdown__text { line-height: var(--line-height-basis); } .eufemia-scope--10_104_0 .dnb-dropdown > .dnb-form-label { margin-right: 1rem; line-height: var(--line-height-basis); } @media screen and (max-width: 40em) { .eufemia-scope--10_104_0 .dnb-dropdown { flex-wrap: wrap; } .eufemia-scope--10_104_0 .dnb-dropdown > .dnb-form-label { margin-bottom: 0.5rem; margin-top: 0.5rem; } } .eufemia-scope--10_104_0 .dnb-dropdown--stretch { display: flex; flex-grow: 1; } .eufemia-scope--10_104_0 .dnb-dropdown--stretch .dnb-dropdown__inner { flex-grow: 1; } .eufemia-scope--10_104_0 .dnb-dropdown--stretch .dnb-dropdown__row, .eufemia-scope--10_104_0 .dnb-dropdown--stretch .dnb-dropdown__inner, .eufemia-scope--10_104_0 .dnb-dropdown--stretch .dnb-dropdown__shell { width: 100%; } .eufemia-scope--10_104_0 .dnb-dropdown--stretch .dnb-form-label + .dnb-dropdown__inner { width: auto; } .eufemia-scope--10_104_0 .dnb-dropdown--vertical.dnb-dropdown--stretch .dnb-dropdown__inner { width: 100%; } .eufemia-scope--10_104_0 .dnb-form-row--horizontal .dnb-dropdown--stretch { width: 100%; } .eufemia-scope--10_104_0 label + .dnb-dropdown[class*=__form-status] { vertical-align: top; } .eufemia-scope--10_104_0 label + .dnb-dropdown[class*=__form-status] .dnb-dropdown__shell { top: -0.375rem; } .eufemia-scope--10_104_0 .dnb-dropdown__inner > .dnb-form-status { order: 2; margin-top: 0.5rem; } .eufemia-scope--10_104_0 .dnb-dropdown--vertical { display: flex; flex-direction: column; align-items: flex-start; } .eufemia-scope--10_104_0 .dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status] { align-items: flex-start; } .eufemia-scope--10_104_0 .dnb-dropdown:not(.dnb-dropdown--vertical)[class*=__status] > .dnb-form-label { margin-top: 0.25rem; } @media screen and (max-width: 40em) { .eufemia-scope--10_104_0 .dnb-responsive-component .dnb-dropdown { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 0.5rem; } .eufemia-scope--10_104_0 .dnb-responsive-component .dnb-dropdown > .dnb-form-label { margin-bottom: 0.5rem; } .eufemia-scope--10_104_0 .dnb-responsive-component .dnb-dropdown__helper { display: none; } } .eufemia-scope--10_104_0 .dnb-drawer-list--triangle-position-left .dnb-dropdown__list--tertiary .dnb-drawer-list__triangle { margin-left: 0.5rem; } .eufemia-scope--10_104_0 .dnb-drawer-list--triangle-position-right .dnb-dropdown__list--tertiary .dnb-drawer-list__triangle { margin-right: 0.5rem; }