@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
295 lines (294 loc) • 11.5 kB
CSS
/*
* 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 ;
right: 0 ;
}
.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;
}