@nl-rvo/css-form-select
Version:
Form select CSS component
175 lines (156 loc) • 9.35 kB
CSS
/**
* @license EUPL-1.2
* Copyright (c) 2020-2024 Frameless B.V.
* Copyright (c) 2021-2024 Gemeente Utrecht
*/
/**
* @license CC0-1.0
* Copyright (c) 2021 Community for NL Design System
*/
.utrecht-select {
background-color: var(--utrecht-select-background-color, var(--utrecht-form-control-background-color));
border-block-end-width: var(--utrecht-select-border-block-end-width, var(--utrecht-select-border-width, var(--utrecht-form-control-border-width)));
border-block-start-width: var(--utrecht-select-border-width, var(--utrecht-form-control-border-width));
border-color: var(--utrecht-select-border-color, var(--utrecht-form-control-border-color));
border-inline-end-width: var(--utrecht-select-border-width, var(--utrecht-form-control-border-width));
border-inline-start-width: var(--utrecht-select-border-width, var(--utrecht-form-control-border-width));
border-radius: var(--utrecht-select-border-radius, var(--utrecht-form-control-border-radius, 0));
border-style: solid;
color: var(--utrecht-select-color, var(--utrecht-form-control-color));
font-family: var(--utrecht-select-font-family, var(--utrecht-form-control-font-family));
font-size: var(--utrecht-select-font-size, var(--utrecht-form-control-font-size));
font-weight: var(--utrecht-select-font-size, var(--utrecht-form-control-font-weight, initial));
inline-size: 100%;
line-height: var(--utrecht-select-line-height, var(--utrecht-form-control-line-height, initial));
min-block-size: var(--utrecht-select-min-block-size, var(--utrecht-pointer-target-min-size, 44px));
min-inline-size: var(--utrecht-pointer-target-min-size, 44px);
max-inline-size: var(--utrecht-select-max-inline-size, var(--utrecht-form-control-max-inline-size));
padding-block-end: var(--utrecht-select-padding-block-end, var(--utrecht-form-control-padding-block-end));
padding-block-start: var(--utrecht-select-padding-block-start, var(--utrecht-form-control-padding-block-start));
padding-inline-end: var(--utrecht-select-padding-inline-end, var(--utrecht-form-control-padding-inline-end));
padding-inline-start: var(--utrecht-select-padding-inline-start, var(--utrecht-form-control-padding-inline-start));
}
.utrecht-select--disabled {
background-color: var(--utrecht-select-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-color: var(--utrecht-select-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
color: var(--utrecht-select-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
cursor: var(--utrecht-action-disabled-cursor, not-allowed);
}
.utrecht-select--hover {
background-color: var(--utrecht-select-hover-background-color, var(--utrecht-form-control-hover-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-color: var(--utrecht-select-hover-border-color, var(--utrecht-form-control-hover-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
color: var(--utrecht-select-hover-color, var(--utrecht-form-control-hover-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
}
.utrecht-select--focus {
background-color: var(--utrecht-select-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-color: var(--utrecht-select-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
color: var(--utrecht-select-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
}
.utrecht-select--focus-visible {
--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
var(--utrecht-focus-inverse-outline-color, transparent);
box-shadow: var(--_utrecht-focus-ring-box-shadow);
outline-color: var(--utrecht-focus-outline-color, revert);
outline-offset: var(--utrecht-focus-outline-offset, revert);
outline-style: var(--utrecht-focus-outline-style, revert);
outline-width: var(--utrecht-focus-outline-width, revert);
}
.utrecht-select--busy {
cursor: var(--utrecht-action-busy-cursor, busy);
}
.utrecht-select--invalid {
--_utrecht-select-border-width: var(
--utrecht-select-invalid-border-width,
var(
--utrecht-form-control-invalid-border-width,
var(--utrecht-select-border-width, var(--utrecht-form-control-border-width))
)
);
background-color: var(--utrecht-select-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-width: var(--_utrecht-select-border-width);
border-block-end-width: var(--utrecht-select-invalid-border-block-end-width, var(--utrecht-form-control-invalid-border-block-end-width, var(--utrecht-select-border-block-end-width, var(--utrecht-form-control-border-block-end-width, var(--_utrecht-select-border-width)))));
border-color: var(--utrecht-select-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
}
.utrecht-select--html-select:hover {
background-color: var(--utrecht-select-hover-background-color, var(--utrecht-form-control-hover-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-color: var(--utrecht-select-hover-border-color, var(--utrecht-form-control-hover-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
color: var(--utrecht-select-hover-color, var(--utrecht-form-control-hover-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
}
.utrecht-select--html-select:focus {
background-color: var(--utrecht-select-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-color: var(--utrecht-select-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
color: var(--utrecht-select-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
}
.utrecht-select--html-select:focus-visible {
--_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
var(--utrecht-focus-inverse-outline-color, transparent);
box-shadow: var(--_utrecht-focus-ring-box-shadow);
outline-color: var(--utrecht-focus-outline-color, revert);
outline-offset: var(--utrecht-focus-outline-offset, revert);
outline-style: var(--utrecht-focus-outline-style, revert);
outline-width: var(--utrecht-focus-outline-width, revert);
}
.utrecht-select--html-select:disabled {
background-color: var(--utrecht-select-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-select-background-color, var(--utrecht-form-control-background-color))));
border-color: var(--utrecht-select-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-select-border-color, var(--utrecht-form-control-border-color))));
color: var(--utrecht-select-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
cursor: var(--utrecht-action-disabled-cursor, not-allowed);
}
.utrecht-select--html-select:not([multiple]) {
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
background-image: var(--utrecht-select-background-image);
background-position: 100%;
background-repeat: no-repeat;
background-size: 1.4em;
}
.rvo-select-wrapper {
position: relative;
}
.rvo-select-wrapper::before {
background-color: var(--rvo-select-icon-background-color);
border-radius: var(--rvo-border-radius-sm);
content: "";
display: block;
height: 32px;
pointer-events: none;
position: absolute;
right: 7px;
top: 7px;
width: 32px;
}
.rvo-select-wrapper::after {
background-color: var(--rvo-select-icon-color);
content: "";
display: block;
height: 32px;
-webkit-mask-image: var(--rvo-icon-delta-omlaag);
mask-image: var(--rvo-icon-delta-omlaag);
-webkit-mask-position: center center;
mask-position: center center;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 100%;
mask-size: 100%;
pointer-events: none;
position: absolute;
right: 16px;
top: 7px;
width: 13px;
}
.utrecht-select {
appearance: none;
height: 48px;
padding-block-end: var(--rvo-select-padding-block-end);
padding-block-start: var(--rvo-select-padding-block-start);
padding-inline-end: var(--rvo-select-padding-inline-end);
padding-inline-start: var(--rvo-select-padding-inline-start);
width: 100%;
}
.utrecht-select:disabled {
opacity: 100%;
}
.utrecht-select:focus {
outline-offset: var(--rvo-select-outline-offset);
}