@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
639 lines (637 loc) • 20.3 kB
CSS
/**
* ATTENTION: This file is auto generated by using "styleFactory".
* Do not change the content!
*
*/
/*
* Utilities
*/
/**
* ATTENTION: This file is auto generated by using "styleFactory".
* Do not change the content!
*
*/
/*
* DrawerList component
*
*/
.dnb-drawer-list {
--drawer-list-distance: 0.5rem;
--drawer-list-padding: 0.5rem;
--drawer-list-list-border-radius: var(--token-radius-md);
--drawer-list-option-border-radius: var(--token-radius-sm);
--drawer-list-option-border-width: 0.25rem;
--drawer-list-option-gap: 0.5rem;
--drawer-list-option-divider: 0.0625rem;
--drawer-list-padding-horizontal--large: 1.25rem;
--drawer-list-height--small: 1.5rem;
--drawer-list-height--default: 2rem;
--drawer-list-height--medium: 2.5rem;
--drawer-list-height--large: 3rem;
--drawer-list-option-inner-background: var(
--token-color-background-neutral
);
--drawer-list-list-background: var(--token-color-background-neutral);
--drawer-list-list-line-height: var(--line-height-basis);
--drawer-list-group-title-color: var(--token-color-text-neutral);
--drawer-list-group-title-bg: var(
--token-color-background-neutral-alternative
);
display: block;
position: relative;
width: inherit;
min-width: inherit;
font-size: var(--font-size-small);
}
.dnb-drawer-list__portal {
--drawer-list-width: 16rem;
}
.dnb-drawer-list__portal__style {
position: absolute;
transition: top 300ms var(--easing-default), left 300ms var(--easing-default), width 300ms var(--easing-default);
z-index: calc(var(--modal-z-index, 3200) + 300);
}
.dnb-drawer-list__portal__style--fixed {
position: fixed;
}
.dnb-drawer-list__root {
width: inherit;
min-width: inherit;
}
.dnb-drawer-list__root--portal {
position: absolute;
top: 0;
left: 0;
}
.dnb-drawer-list__content {
width: 100%;
padding: 0;
}
.dnb-drawer-list__list {
--drawer-list-list-border-width: 0.0625rem;
position: absolute;
z-index: 3;
top: var(--drawer-list-top, auto);
bottom: var(--drawer-list-bottom, auto);
left: 0;
right: 0;
width: inherit;
min-width: inherit;
margin: 0;
padding: 0;
font-size: var(--font-size-basis);
line-height: var(--drawer-list-list-line-height);
background-color: var(--drawer-list-list-background);
transform: translateY(0);
transition: transform 200ms, opacity 160ms ease-out;
box-shadow: var(--shadow-sharp);
border-radius: var(--drawer-list-list-border-radius);
}
.dnb-drawer-list__options {
--drawer-list-option-extra-border--default: 0 0 transparent;
--drawer-list-option-color-text--default: var(
--token-color-text-neutral
);
--drawer-list-option-color-text--disabled: var(
--token-color-text-action-disabled
);
--drawer-list-option-color-bg--default: var(
--token-color-background-neutral
);
--drawer-list-option-color-bg--hover: var(
--token-color-background-neutral-subtle
);
--drawer-list-option-color-bg--active: var(
--token-color-background-neutral-base
);
--drawer-list-option-color-bg--focus: var(
--token-color-background-neutral-subtle
);
--drawer-list-option-color-bg--disabled: var(
--token-color-background-neutral
);
--drawer-list-option-color-border--default: transparent;
--drawer-list-option-color-border--focus: var(
--token-color-stroke-action-focus
);
display: flex;
flex-direction: column;
width: 100%;
margin: 0;
max-height: 90vh;
padding: var(--drawer-list-padding);
list-style: none;
border: none;
border-radius: var(--drawer-list-list-border-radius);
}
.dnb-drawer-list__options:focus-visible {
outline: none;
}
.dnb-drawer-list__options::before {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: -1;
border-radius: inherit;
box-shadow: 0 0 0 var(--drawer-list-list-border-width) var(--token-color-stroke-neutral-subtle);
}
.dnb-drawer-list--scroll .dnb-drawer-list__options {
min-height: 2rem;
max-height: 70vh;
transition: max-height 300ms var(--easing-default);
overflow-y: auto;
overscroll-behavior: contain;
scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
.dnb-drawer-list--scroll .dnb-drawer-list__options {
scroll-behavior: auto;
}
}
.dnb-drawer-list--scroll .dnb-drawer-list__options {
scrollbar-color: var(--scrollbar-thumb-color, var(--token-color-text-neutral-alternative)) transparent;
}
@supports not (scrollbar-color: auto) {
.dnb-drawer-list--scroll .dnb-drawer-list__options::-webkit-scrollbar:vertical {
width: var(--scrollbar-track-width, 0.5rem);
}
.dnb-drawer-list--scroll .dnb-drawer-list__options::-webkit-scrollbar:horizontal {
height: var(--scrollbar-track-width, 0.5rem);
}
.dnb-drawer-list--scroll .dnb-drawer-list__options::-webkit-scrollbar {
border-radius: var(--scrollbar-thumb-width, 0.5rem);
background-color: var(--scrollbar-track-color, var(--token-color-background-neutral-base));
}
.dnb-drawer-list--scroll .dnb-drawer-list__options::-webkit-scrollbar-thumb {
background-color: var(--scrollbar-thumb-color, var(--token-color-text-neutral-alternative));
}
.dnb-drawer-list--scroll .dnb-drawer-list__options::-webkit-scrollbar-thumb:hover {
background-color: var(--scrollbar-thumb-hover-color, var(--token-color-text-neutral));
}
.dnb-drawer-list--scroll .dnb-drawer-list__options::-webkit-scrollbar-thumb {
border-radius: var(--scrollbar-thumb-width, 0.5rem);
}
}
@media (prefers-reduced-motion: reduce) {
.dnb-drawer-list--scroll .dnb-drawer-list__options {
transition-duration: 0.01ms;
}
}
.dnb-drawer-list--scroll.dnb-drawer-list--no-animation .dnb-drawer-list__options {
transition: none ;
}
.dnb-drawer-list--open .dnb-drawer-list__options {
scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
.dnb-drawer-list--open .dnb-drawer-list__options {
scroll-behavior: auto;
}
}
.dnb-drawer-list--no-scroll-animation .dnb-drawer-list__options {
scroll-behavior: auto;
}
.dnb-drawer-list__group {
padding: 0;
margin: 0;
list-style: none;
}
.dnb-drawer-list__group-title {
position: relative;
z-index: 0;
display: block;
padding: 0.5rem calc(var(--drawer-list-padding) + 0.5rem);
margin: var(--drawer-list-padding) calc(var(--drawer-list-padding) * -1);
color: var(--drawer-list-group-title-color);
background-color: var(--drawer-list-group-title-bg);
font-weight: var(--font-weight-medium);
}
.dnb-drawer-list__group.first-of-type .dnb-drawer-list__group-title {
margin-top: calc(var(--drawer-list-padding) * -1);
}
.dnb-drawer-list__option {
position: relative;
z-index: 0;
cursor: pointer;
margin: 0 0 var(--drawer-list-option-gap);
scroll-margin-top: calc(var(--drawer-list-padding));
scroll-margin-bottom: calc(var(--drawer-list-padding));
padding: 0;
color: var(--drawer-list-option-color-text, var(--drawer-list-option-color-text--default));
outline: none;
background-color: var(--drawer-list-option-color-bg, var(--drawer-list-option-color-bg--default));
border-radius: var(--drawer-list-option-border-radius);
--border-color: var(--drawer-list-option-color-border, var(--drawer-list-option-color-border--default));
--border-width: var(--drawer-list-option-border-width);
box-shadow: 0 0 0 var(--border-width) var(--border-color), var(--drawer-list-option-extra-border, var(--drawer-list-option-extra-border--default));
border-color: transparent;
}
.dnb-drawer-list__option__inner {
position: relative;
display: grid;
grid-template-columns: 1fr auto;
grid-template-rows: repeat(10, min-content);
outline: none;
margin: 0;
padding: 0.5rem 1rem;
color: inherit;
}
.dnb-drawer-list__option__inner > * {
align-self: self-start;
}
.dnb-drawer-list__option__inner::before {
pointer-events: none;
content: "";
position: absolute;
z-index: 2;
top: auto;
left: 1rem;
right: 1rem;
bottom: calc((var(--drawer-list-option-gap) + var(--drawer-list-option-divider)) / 2 * -1);
height: var(--drawer-list-option-divider);
background-color: var(--token-color-stroke-neutral-subtle);
}
.dnb-drawer-list__option__item {
display: block;
text-overflow: ellipsis;
grid-column: 1;
}
.dnb-drawer-list__option__item--horizontal {
display: flex;
}
.dnb-drawer-list__option__item > .dnb-icon {
vertical-align: initial;
}
.dnb-drawer-list__option__item .dnb-anchor {
display: inline-block;
margin-right: 0.5rem;
word-break: break-word;
font-size: inherit;
}
.dnb-drawer-list__option__item.item-nr-1 {
font-weight: var(--font-weight-medium);
}
html:not([data-whatintent=touch]) .dnb-drawer-list__option:hover[disabled] {
cursor: not-allowed;
}
html:not([data-whatintent=touch]) .dnb-drawer-list__option:hover:not([disabled]) {
--drawer-list-option-color-text: var(
--drawer-list-option-color-text--hover
);
--drawer-list-option-color-bg: var(
--drawer-list-option-color-bg--hover
);
}
.dnb-drawer-list__option:active[disabled], html:not([data-whatintent=touch]) .dnb-drawer-list__option:active[disabled] {
cursor: not-allowed;
}
.dnb-drawer-list__option:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-drawer-list__option:active:not([disabled]) {
--drawer-list-option-color-text: var(
--drawer-list-option-color-text--active
);
--drawer-list-option-color-bg: var(
--drawer-list-option-color-bg--active
);
}
.dnb-drawer-list__option--focus {
--drawer-list-option-color-text: var(
--drawer-list-option-color-text--focus
);
--drawer-list-option-color-bg: var(
--drawer-list-option-color-bg--focus
);
}
.dnb-drawer-list__option--focus .dnb-drawer-list__option__inner::before {
background-color: transparent;
}
html[data-whatinput=keyboard] .dnb-drawer-list__option--focus {
--drawer-list-option-color-border: var(
--drawer-list-option-color-border--focus
);
--drawer-list-option-extra-border: var(
--drawer-list-option-extra-border--focus
);
}
@media screen and (min-width: 40.00625em) {
.dnb-drawer-list__option__suffix {
grid-column: 2;
grid-row: 1/-1;
justify-self: end;
align-self: center;
}
}
.dnb-drawer-list__option--ignore, .dnb-drawer-list__option.ignore-events {
cursor: default;
pointer-events: none;
}
.dnb-drawer-list__option--selected {
--drawer-list-option-extra-border--focus: inset 0 0 0 0.125rem
var(--token-color-component-button-icon-neutral);
--drawer-list-option-color-text--default: var(
--token-color-text-neutral-inverse
);
--drawer-list-option-color-text--hover: var(
--token-color-text-neutral-inverse
);
--drawer-list-option-color-text--active: var(
--token-color-text-neutral-inverse
);
--drawer-list-option-color-text--focus: var(
--token-color-text-neutral-inverse
);
--drawer-list-option-color-bg--default: var(
--token-color-background-selected
);
--drawer-list-option-color-bg--hover: var(
--token-color-background-action-hover
);
--drawer-list-option-color-bg--active: var(
--token-color-background-action-pressed
);
--drawer-list-option-color-bg--focus: var(
--token-color-background-action-hover
);
}
.dnb-drawer-list__option--selected .dnb-drawer-list__option__inner .dnb-drawer-list__option__inner {
color: inherit;
background-color: inherit;
}
.dnb-drawer-list__option--selected .dnb-drawer-list__option__inner::after {
content: "";
grid-column: 2;
grid-row: 1/-1;
justify-self: end;
align-self: center;
width: 1rem;
height: 1rem;
background-color: currentcolor;
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSI+ICA8cGF0aCAgICBmaWxsPSIjMDAwIiAgICBkPSJNMyA4LjhhLjc1Ljc1IDAgMSAwLTEuMjIuODZMMyA4Ljc5em0xLjg0IDMuOWwuNjMtLjQxdi0uMDFoLS4wMWwtLjYyLjQyem0xLjcxLjA1bC0uNTktLjQ2di4wMWwuNTkuNDV6bTguNDMtOS40NWEuNzUuNzUgMCAwIDAtMS4xOC0uOTNsMS4xOC45M3pNMS43OCA5LjY2bDIuNDUgMy40OCAxLjIzLS44N0wzIDguOGwtMS4yMy44N3ptMi40NCAzLjQ2Yy4zMi40OC44Ni43OCAxLjQ0LjhsLjA1LTEuNWEuMy4zIDAgMCAxLS4yNC0uMTNsLTEuMjUuODN6bTEuNDQuOGExLjggMS44IDAgMCAwIDEuNDktLjcxbC0xLjItLjlhLjMuMyAwIDAgMS0uMjQuMWwtLjA1IDEuNXptMS40OC0uN2w3Ljg0LTkuOTItMS4xOC0uOTMtNy44NCA5LjkyIDEuMTguOTN6Ii8+PC9zdmc+");
mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSI+ICA8cGF0aCAgICBmaWxsPSIjMDAwIiAgICBkPSJNMyA4LjhhLjc1Ljc1IDAgMSAwLTEuMjIuODZMMyA4Ljc5em0xLjg0IDMuOWwuNjMtLjQxdi0uMDFoLS4wMWwtLjYyLjQyem0xLjcxLjA1bC0uNTktLjQ2di4wMWwuNTkuNDV6bTguNDMtOS40NWEuNzUuNzUgMCAwIDAtMS4xOC0uOTNsMS4xOC45M3pNMS43OCA5LjY2bDIuNDUgMy40OCAxLjIzLS44N0wzIDguOGwtMS4yMy44N3ptMi40NCAzLjQ2Yy4zMi40OC44Ni43OCAxLjQ0LjhsLjA1LTEuNWEuMy4zIDAgMCAxLS4yNC0uMTNsLTEuMjUuODN6bTEuNDQuOGExLjggMS44IDAgMCAwIDEuNDktLjcxbC0xLjItLjlhLjMuMyAwIDAgMS0uMjQuMWwtLjA1IDEuNXptMS40OC0uN2w3Ljg0LTkuOTItMS4xOC0uOTMtNy44NCA5LjkyIDEuMTguOTN6Ii8+PC9zdmc+");
-webkit-mask-size: cover;
mask-size: cover;
}
@media screen and (min-width: 40.00625em) {
.dnb-drawer-list__option--selected:has(.dnb-drawer-list__option__suffix) .dnb-drawer-list__option__inner::after {
content: none;
}
.dnb-drawer-list__option--selected .dnb-drawer-list__option__suffix {
z-index: 0;
align-self: center;
}
}
.dnb-drawer-list__option.last-of-type:not(.dnb-drawer-list__option--focus) .dnb-drawer-list__option__inner::before {
content: none;
}
.dnb-drawer-list__option[disabled] {
--drawer-list-option-color-text: var(
--drawer-list-option-color-text--disabled
);
--drawer-list-option-color-bg: var(
--drawer-list-option-color-bg--disabled
);
cursor: not-allowed;
}
.dnb-drawer-list__option.last-of-type {
margin-bottom: 0;
}
.dnb-drawer-list--top {
--drawer-list-bottom: var(
--drawer-list-height,
var(--drawer-list-height--default)
);
}
.dnb-drawer-list--bottom .dnb-drawer-list__list {
margin-top: var(--drawer-list-distance);
}
.dnb-drawer-list--top .dnb-drawer-list__list {
margin-bottom: var(--drawer-list-distance);
}
.dnb-drawer-list__portal .dnb-drawer-list--top {
--drawer-list-bottom: 0;
}
.dnb-drawer-list__portal .dnb-drawer-list--bottom {
--drawer-list-top: var(
--drawer-list-height,
var(--drawer-list-height--default)
);
}
.dnb-drawer-list--is-popup.dnb-drawer-list--right {
position: absolute;
left: auto;
right: 0;
}
.dnb-drawer-list--is-popup.dnb-drawer-list--left .dnb-drawer-list__list {
left: -0.5rem;
}
.dnb-drawer-list--is-popup.dnb-drawer-list--right .dnb-drawer-list__list {
right: -0.5rem;
}
.dnb-drawer-list--open .dnb-drawer-list__list {
z-index: var(--z-index-dropdown);
display: flex;
flex-direction: column;
}
.dnb-drawer-list--open .dnb-drawer-list__list:not(.dnb-drawer-list--open .dnb-drawer-list__list--no-animation) {
animation: drawer-list-slide-top-down 200ms ease-out 1 forwards;
}
.dnb-drawer-list--open .dnb-drawer-list__list--no-animation {
animation-duration: 1ms ;
}
.dnb-drawer-list--hidden .dnb-drawer-list__list {
display: none;
}
.dnb-drawer-list--no-divider {
--drawer-list-option-gap: 0.25rem;
}
.dnb-drawer-list--no-divider .dnb-drawer-list__option__inner::before {
content: none;
}
.dnb-drawer-list--small {
--drawer-list-height: var(--drawer-list-height--small);
}
.dnb-drawer-list--small.dnb-drawer-list--is-popup.dnb-drawer-list--left .dnb-drawer-list__list {
left: -0.75rem;
}
.dnb-drawer-list--small.dnb-drawer-list--is-popup.dnb-drawer-list--right .dnb-drawer-list__list {
right: -0.75rem;
}
.dnb-drawer-list--medium {
--drawer-list-height: var(--drawer-list-height--medium);
}
.dnb-drawer-list--medium.dnb-drawer-list--is-popup.dnb-drawer-list--left .dnb-drawer-list__list {
left: -0.25rem;
}
.dnb-drawer-list--medium.dnb-drawer-list--is-popup.dnb-drawer-list--right .dnb-drawer-list__list {
right: -0.25rem;
}
.dnb-drawer-list--large {
--drawer-list-height: var(--drawer-list-height--large);
--drawer-list-padding-horizontal: var(
--drawer-list-padding-horizontal--large
);
}
.dnb-drawer-list--large.dnb-drawer-list--is-popup.dnb-drawer-list--left .dnb-drawer-list__list {
left: -0.25rem;
}
.dnb-drawer-list--large.dnb-drawer-list--is-popup.dnb-drawer-list--right .dnb-drawer-list__list {
right: -0.25rem;
}
.dnb-drawer-list {
/* stylelint-disable-next-line */
}
.dnb-drawer-list--is-popup.dnb-drawer-list--right .dnb-drawer-list__list {
left: auto;
}
.dnb-drawer-list__root > .dnb-drawer-list--right {
position: absolute;
right: 0;
left: auto;
}
.dnb-drawer-list:not(.dnb-drawer-list--open) .dnb-drawer-list__list:not(.dnb-drawer-list:not(.dnb-drawer-list--open) .dnb-drawer-list__list--no-animation) {
animation: drawer-list-slide-top-up 150ms ease-out 1 forwards;
}
.dnb-drawer-list:not(.dnb-drawer-list--open) .dnb-drawer-list__list--no-animation {
animation-duration: 1ms ;
}
@keyframes drawer-list-scale-in {
from {
opacity: 0;
transform: scale(0.8) translateX(calc(1px - var(--drawer-list-width)));
}
to {
opacity: 1;
transform: scale(1) translateX(0);
}
}
@keyframes drawer-list-scale-out {
from {
opacity: 1;
transform: scale(1) translateX(0);
}
to {
opacity: 0;
transform: scale(0.8) translateX(calc(1px - var(--drawer-list-width)));
}
}
@keyframes drawer-list-slide-top-down {
from {
opacity: 0;
transform: translateY(calc(1px - var(--drawer-list-height)));
pointer-events: none;
}
to {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
}
@keyframes drawer-list-slide-top-up {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(calc(1px - var(--drawer-list-height)));
}
}
@keyframes drawer-list-slide-bottom-down {
from {
opacity: 1;
transform: translateY(0);
}
to {
opacity: 0;
transform: translateY(calc(1px + var(--drawer-list-height)));
}
}
@keyframes drawer-list-slide-bottom-up {
from {
opacity: 0;
transform: translateY(calc(1px + var(--drawer-list-height)));
pointer-events: none;
}
to {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
}
/**
* ATTENTION: This file is auto generated by using "styleFactory".
* Do not change the content!
*
*/
/*
* ScrollView component
*
*/
.dnb-scroll-view {
overflow-x: auto;
overflow-y: auto;
overscroll-behavior: contain;
scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
.dnb-scroll-view {
scroll-behavior: auto;
}
}
.dnb-scroll-view {
scrollbar-color: var(--scrollbar-thumb-color, var(--token-color-text-neutral-alternative)) transparent;
}
@supports not (scrollbar-color: auto) {
.dnb-scroll-view::-webkit-scrollbar:vertical {
width: var(--scrollbar-track-width, 0.5rem);
}
.dnb-scroll-view::-webkit-scrollbar:horizontal {
height: var(--scrollbar-track-width, 0.5rem);
}
.dnb-scroll-view::-webkit-scrollbar {
border-radius: var(--scrollbar-thumb-width, 0.5rem);
background-color: var(--scrollbar-track-color, var(--token-color-background-neutral-base));
}
.dnb-scroll-view::-webkit-scrollbar-thumb {
background-color: var(--scrollbar-thumb-color, var(--token-color-text-neutral-alternative));
}
.dnb-scroll-view::-webkit-scrollbar-thumb:hover {
background-color: var(--scrollbar-thumb-hover-color, var(--token-color-text-neutral));
}
.dnb-scroll-view::-webkit-scrollbar-thumb {
border-radius: var(--scrollbar-thumb-width, 0.5rem);
}
}
.dnb-scroll-view {
overscroll-behavior: auto;
}
.dnb-scroll-view--scrollbar-gutter-stable {
scrollbar-gutter: stable;
}
.dnb-scroll-view[tabindex="0"]:focus {
outline: none;
outline: none;
}
html[data-whatinput=keyboard] .dnb-scroll-view[tabindex="0"]:focus {
--border-color: var(--token-color-stroke-action-focus);
--border-width: var(--focus-ring-width);
box-shadow: 0 0 0 var(--border-width) var(--border-color);
border-color: transparent;
}
.dnb-text-counter.dnb-p {
color: var(--token-color-text-neutral-alternative);
}
.dnb-text-counter .dnb-icon {
margin-right: 0;
font-size: 0;
transition: margin 200ms var(--easing-default), font-size 400ms var(--easing-default);
}
.dnb-text-counter--exceeded.dnb-p {
color: var(--token-color-text-error);
}
.dnb-text-counter--exceeded .dnb-icon {
margin-right: 0.5rem;
font-size: var(--font-size-basis--em);
}