@utrecht/components
Version:
Components for the Municipality of Utrecht based on the NL Design System architecture
118 lines (113 loc) • 4.47 kB
CSS
/**
* @license EUPL-1.2
* Copyright (c) 2021 Robbert Broersma
*/
/**
* @license EUPL-1.2
* Copyright (c) 2021 Robbert Broersma
*/
/**
* @license EUPL-1.2
* Copyright (c) 2020-2022 Gemeente Utrecht
* Copyright (c) 2020-2022 Frameless B.V.
*/
.utrecht-drawer {
/* minimum size for backdrop with light-dismiss is 44px x 44px to meet WCAG SC 2.5.5 */
--_utrecht-drawer-backdrop-min-size: max(var(--utrecht-drawer-backdrop-min-size), 44px);
background-color: var(--utrecht-drawer-background-color, Canvas);
border-color: var(--utrecht-drawer-border-color, currentColor);
border-width: var(--utrecht-drawer-border-width, 0);
box-sizing: border-box;
color: var(--utrecht-drawer-color, CanvasText);
overflow: auto;
padding-block-end: var(--utrecht-drawer-padding-block-end);
padding-block-start: var(--utrecht-drawer-padding-block-start);
padding-inline-end: var(--utrecht-drawer-padding-inline-end);
padding-inline-start: var(--utrecht-drawer-padding-inline-start);
position: fixed;
z-index: var(--utrecht-drawer-z-index, 1);
}
.utrecht-drawer::backdrop {
--_utrecht-backdrop-opacity: var(--utrecht-backdrop-opacity);
--_utrecht-backdrop-fade-in-animation-duration: var(--utrecht-backdrop-fade-in-animation-duration, 0);
animation-duration: min(var(--utrecht-motion-max-animation-duration, var(--_utrecht-backdrop-fade-in-animation-duration)), var(--_utrecht-backdrop-fade-in-animation-duration, 0));
animation-name: utrecht-backdrop-fade-in;
animation-timing-function: ease-in-out;
background-color: var(--utrecht-backdrop-background-color);
color: var(--utrecht-backdrop-color);
opacity: var(--_utrecht-backdrop-opacity);
-webkit-user-select: none;
user-select: none;
}
@keyframes utrecht-backdrop-fade-in {
from {
opacity: 0%;
}
to {
opacity: var(--_utrecht-backdrop-opacity);
}
}
@media (prefers-reduced-motion: reduce) {
.utrecht-drawer::backdrop {
--_utrecht-backdrop-fade-in-animation-duration: 0;
}
}
@media (prefers-reduced-transparency: reduce) {
.utrecht-drawer::backdrop {
--_utrecht-backdrop-opacity: var(--utrecht-backdrop-reduced-transparency-opacity, 100%);
}
}
.utrecht-drawer--inline-start {
block-size: 100%;
inset-block-end: 0;
inset-block-start: 0;
max-block-size: 100%;
max-inline-size: min(var(--utrecht-drawer-max-inline-size, 100%), 100% - var(--_utrecht-drawer-backdrop-min-size, 44px));
min-inline-size: var(--utrecht-drawer-min-inline-size, calc(320px - var(--_utrecht-drawer-backdrop-min-size)));
border-end-end-radius: var(--utrecht-drawer-border-radius);
border-inline-start-width: 0;
border-start-end-radius: var(--utrecht-drawer-border-radius);
inset-inline-end: auto;
inset-inline-start: 0;
}
.utrecht-drawer--inline-end {
block-size: 100%;
inset-block-end: 0;
inset-block-start: 0;
max-block-size: 100%;
max-inline-size: min(var(--utrecht-drawer-max-inline-size, 100%), 100% - var(--_utrecht-drawer-backdrop-min-size, 44px));
min-inline-size: var(--utrecht-drawer-min-inline-size, calc(320px - var(--_utrecht-drawer-backdrop-min-size)));
border-end-start-radius: var(--utrecht-drawer-border-radius);
border-inline-end-width: 0;
border-start-start-radius: var(--utrecht-drawer-border-radius);
inset-inline-end: 0;
inset-inline-start: auto;
}
.utrecht-drawer--block-start {
block-size: fit-content;
inline-size: 100%;
inset-inline-end: 0;
inset-inline-start: 0;
max-block-size: min(var(--utrecht-drawer-max-block-size), 100% - var(--_utrecht-drawer-backdrop-min-size));
max-inline-size: 100%;
min-block-size: var(--utrecht-drawer-min-block-size, calc(256px - var(--_utrecht-drawer-backdrop-min-size)));
border-block-start-width: 0;
border-end-end-radius: var(--utrecht-drawer-border-radius);
border-end-start-radius: var(--utrecht-drawer-border-radius);
inset-block-end: auto;
inset-block-start: 0;
}
.utrecht-drawer--block-end {
block-size: fit-content;
inline-size: 100%;
inset-inline-end: 0;
inset-inline-start: 0;
max-block-size: min(var(--utrecht-drawer-max-block-size), 100% - var(--_utrecht-drawer-backdrop-min-size));
max-inline-size: 100%;
min-block-size: var(--utrecht-drawer-min-block-size, calc(256px - var(--_utrecht-drawer-backdrop-min-size)));
border-block-end-width: 0;
border-start-end-radius: var(--utrecht-drawer-border-radius);
border-start-start-radius: var(--utrecht-drawer-border-radius);
inset-block-end: 0;
inset-block-start: auto;
}