UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

353 lines 8.6 kB
@charset "UTF-8"; /* * Drawer component * */ /* * Utilities */ /* * Modal component * */ @keyframes show-modal { from { opacity: 0.1; transform: translate3d(0, -1rem, 0); } to { transform: translate3d(0, 0, 0); opacity: 1; } } @keyframes hide-modal { from { transform: translate3d(0, 0, 0); opacity: 1; } to { transform: translate3d(0, 1rem, 0); opacity: 0; } } @keyframes show-drawer { to { transform: translate3d(0, 0, 0); opacity: 1; } } @keyframes hide-drawer-left { from { transform: translate3d(0, 0, 0); opacity: 1; } to { transform: translate3d(-20rem, 0, 0); opacity: 0; } } @keyframes hide-drawer-top { from { transform: translate3d(0, 0, 0); opacity: 1; } to { transform: translate3d(0, -20rem, 0); opacity: 0; } } @keyframes hide-drawer-bottom { from { transform: translate3d(0, 0, 0); opacity: 1; } to { transform: translate3d(0, 20rem, 0); opacity: 0; } } @keyframes hide-drawer-right { from { transform: translate3d(0, 0, 0); opacity: 1; } to { transform: translate3d(20rem, 0, 0); opacity: 0; } } @keyframes show-modal-overlay { from { opacity: 0; } to { opacity: 1; } } @keyframes hide-modal-overlay { from { opacity: 1; } to { opacity: 0; } } .dnb-drawer { --drawer-width: 40vw; --drawer-min-width: 384px; --drawer-max-width: 40rem; --drawer-spacing: 2rem; --drawer-spacing-minus: -2rem; position: relative; max-height: 100vh; width: 100%; height: 100vh; max-width: 100%; max-height: 100vh; border-radius: 0; box-shadow: none; width: var(--drawer-width); min-width: var(--drawer-min-width); max-width: var(--drawer-max-width); } @media screen and (max-width: 40em) { .dnb-drawer { --drawer-width: 100vw; --drawer-min-width: none; --drawer-max-width: none; } } .dnb-drawer { box-shadow: var(--shadow-default); -webkit-user-select: text; user-select: text; border: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } @media screen and (max-width: 40em) { .dnb-drawer--auto-fullscreen { width: 100%; height: 100vh; max-width: 100%; max-height: 100vh; border-radius: 0; box-shadow: none; } } .dnb-drawer__inner { position: relative; display: flex; flex-direction: column; z-index: 10; /** NB: Do not use "overflow-x: hidden;" in here, (overflowing one direction, will influence the other – we can't just have one at a time) To make the Drawer scroll, we use .dnb-scroll-view */ width: 100%; min-height: calc(100% - var(--header-height, 0)); /** Sets the color on scroll overflow (at the bottom) */ background-color: var(--modal-background-color, transparent); } .dnb-drawer__align--centered .dnb-drawer__inner { align-items: center; justify-content: center; } .dnb-drawer__content { position: relative; z-index: 1; } .dnb-drawer--spacing .dnb-drawer__content { padding: 0 var(--drawer-spacing); } @media screen and (min-width: 80.00625em) { .dnb-drawer--spacing .dnb-drawer__content { padding: 0 calc(var(--drawer-spacing) * 1.75); } } @media screen and (max-width: 60em) { .dnb-drawer--spacing .dnb-drawer__content { padding: 0 calc(var(--drawer-spacing) / 1.333333); } } @media screen and (max-width: 40em) { .dnb-drawer--spacing .dnb-drawer__content { padding: 0 calc(var(--drawer-spacing) / 2); } } .dnb-drawer__align--center .dnb-drawer__content { align-items: center; text-align: center; } .dnb-drawer__align--right .dnb-drawer__content { align-items: flex-end; text-align: right; } .dnb-drawer--top, .dnb-drawer--bottom { max-width: 100%; width: 100vw; height: 40vh; } @media screen and (max-height: 40em) { .dnb-drawer--top, .dnb-drawer--bottom { height: 100vw; min-height: auto; max-height: auto; } } .dnb-drawer--fullscreen { width: 100%; height: 100vh; max-width: 100%; max-height: 100vh; border-radius: 0; box-shadow: none; } html:not([data-visual-test]) .dnb-drawer { opacity: 0.1; animation: show-drawer var(--modal-animation-duration) ease-out forwards; } html:not([data-visual-test]) .dnb-drawer--left { transform: translate3d(-20rem, 0, 0); } html:not([data-visual-test]) .dnb-drawer--right { transform: translate3d(20rem, 0, 0); } html:not([data-visual-test]) .dnb-drawer--top { transform: translate3d(0, -20rem, 0); } html:not([data-visual-test]) .dnb-drawer--bottom { transform: translate3d(0, 20rem, 0); } html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--left { animation: hide-drawer-left var(--modal-animation-duration) ease-in-out forwards; } html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--right { animation: hide-drawer-right var(--modal-animation-duration) ease-in-out forwards; } html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--top { animation: hide-drawer-top var(--modal-animation-duration) ease-in-out forwards; } html:not([data-visual-test]) .dnb-drawer--hide.dnb-drawer--bottom { animation: hide-drawer-bottom var(--modal-animation-duration) ease-in-out forwards; } .dnb-drawer--no-animation { animation-duration: 0ms !important; } @media (prefers-reduced-motion: reduce) { .dnb-drawer { animation-duration: 0.01ms !important; } } @media screen and (max-width: 40em) { .dnb-drawer--no-animation-on-mobile { animation-duration: 0ms !important; } } .dnb-drawer__root { align-items: flex-start; justify-content: flex-start; } @media screen and (max-width: 60em) { .dnb-drawer__title { font-size: var(--font-size-large) !important; line-height: var(--line-height-medium) !important; } } .dnb-drawer__title ~ .dnb-drawer__content { padding-top: calc(var(--drawer-spacing) / 1.333333); } .dnb-drawer .dnb-drawer__header [class*=dnb-h--], .dnb-drawer .dnb-drawer__header .dnb-drawer__title { padding: 0; } .dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__top]), .dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__top]) { margin-top: 0; } .dnb-drawer .dnb-drawer__header [class*=dnb-h--]:not([class*=__bottom]), .dnb-drawer .dnb-drawer__header .dnb-drawer__title:not([class*=__bottom]) { margin-bottom: 0; } .dnb-drawer .dnb-drawer__header::after { top: -500%; height: 600%; } .dnb-drawer--spacing .dnb-drawer__header { padding: 0 var(--drawer-spacing); } @media screen and (min-width: 80.00625em) { .dnb-drawer--spacing .dnb-drawer__header { padding: 0 calc(var(--drawer-spacing) * 1.75); } } @media screen and (max-width: 60em) { .dnb-drawer--spacing .dnb-drawer__header { padding: 0 calc(var(--drawer-spacing) / 1.333333); } } @media screen and (max-width: 40em) { .dnb-drawer--spacing .dnb-drawer__header { padding: 0 calc(var(--drawer-spacing) / 2); } } .dnb-drawer--spacing .dnb-drawer__header .dnb-tabs { margin-top: var(--drawer-spacing); } .dnb-drawer__body { padding-bottom: calc(var(--drawer-spacing) * 2); margin-bottom: calc(var(--drawer-spacing-minus) * 2); } @supports (-webkit-touch-callout: none) { .dnb-drawer__body { padding-bottom: calc(var(--drawer-spacing-minus) * 8); } } .dnb-drawer__navigation.dnb-section { display: flex; flex-direction: row; justify-content: space-between; } .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section { position: sticky; top: 0; left: 0; z-index: 99; } .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section.dnb-drawer__navigation--sticky { z-index: 2999; } .dnb-drawer .dnb-drawer__navigation--sticky::before { content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; box-shadow: var(--shadow-default); } .dnb-drawer .dnb-drawer__navigation:not(.dnb-drawer__navigation--sticky)::after { color: transparent; } .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section { margin: var(--drawer-spacing) 0; padding: 0 var(--drawer-spacing); } @media screen and (min-width: 80.00625em) { .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section { padding: 0 calc(var(--drawer-spacing) * 1.75); } } @media screen and (max-width: 60em) { .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section { padding: 0 calc(var(--drawer-spacing) / 1.333333); } } @media screen and (max-width: 40em) { .dnb-drawer--spacing .dnb-drawer__navigation.dnb-section { padding: 0 calc(var(--drawer-spacing) / 2); } } @media screen and (max-width: 40em) { .dnb-drawer--no-animation-on-mobile { animation-delay: 0ms !important; animation-duration: 0ms !important; } }