UNPKG

@nl-rvo/css-form-select

Version:

Form select CSS component

175 lines (156 loc) 9.35 kB
/** * @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); }