UNPKG

@utrecht/components

Version:

Components for the Municipality of Utrecht based on the NL Design System architecture

191 lines (182 loc) 12 kB
/** * @license EUPL-1.2 * Copyright (c) 2021 Robbert Broersma */ /** * @license EUPL-1.2 * Copyright (c) 2021 Robbert Broersma */ /** * @license EUPL-1.2 * Copyright (c) 2021 Gemeente Utrecht * Copyright (c) 2021 Robbert Broersma */ /* stylelint-disable-next-line block-no-empty */ .utrecht-checkbox--custom, .utrecht-custom-checkbox { /* * Use 24x24px as hardcoded minimum target size, to meet WCAG 2.5.8 standards. * https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html */ -webkit-appearance: none; -moz-appearance: none; appearance: none; background-position: center; background-repeat: no-repeat; background-size: contain; block-size: var(--utrecht-checkbox-size, 1em); border-color: var(--utrecht-checkbox-border-color); border-radius: var(--utrecht-checkbox-border-radius, 0); border-style: solid; border-width: var(--utrecht-checkbox-border-width); cursor: var(--utrecht-action-activate-cursor, revert); inline-size: var(--utrecht-checkbox-size, 1em); margin-block-start: var(--utrecht-checkbox-margin-block-start); min-block-size: 24px; min-inline-size: 24px; -webkit-print-color-adjust: exact; print-color-adjust: exact; vertical-align: top; } .utrecht-checkbox--custom.utrecht-checkbox--checked, .utrecht-custom-checkbox--checked { background-color: var(--utrecht-checkbox-checked-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-checked-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-checked-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--disabled, .utrecht-custom-checkbox--disabled { border-color: var(--utrecht-checkbox-disabled-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-disabled-border-width, var(--utrecht-checkbox-border-width)); cursor: var(--utrecht-action-disabled-cursor, not-allowed); } .utrecht-checkbox--custom.utrecht-checkbox--disabled:checked, .utrecht-custom-checkbox--disabled:checked { background-color: var(--utrecht-checkbox-disabled-background-color, var(--utrecht-checkbox-background-color)); border-color: var(--utrecht-checkbox-disabled-border-color, var(--utrecht-checkbox-border-color)); } .utrecht-checkbox--custom.utrecht-checkbox--disabled:active, .utrecht-custom-checkbox--disabled:active { border-color: var(--utrecht-checkbox-disabled-border-color, var(--utrecht-checkbox-border-color)); } .utrecht-checkbox--custom.utrecht-checkbox--indeterminate, .utrecht-custom-checkbox--indeterminate { background-color: var(--utrecht-checkbox-indeterminate-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-indeterminate-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-indeterminate-border-width, var(--utrecht-checkbox-border-width)); color: var(--utrecht-checkbox-indeterminate-color, var(--utrecht-checkbox-color)); } .utrecht-checkbox--custom.utrecht-checkbox--invalid, .utrecht-custom-checkbox--invalid { border-color: var(--utrecht-checkbox-invalid-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-invalid-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--active, .utrecht-custom-checkbox--active { background-color: var(--utrecht-checkbox-active-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-active-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-active-border-width, var(--utrecht-checkbox-border-width)); color: var(--utrecht-checkbox-active-color, var(--utrecht-checkbox-color)); } .utrecht-checkbox--custom.utrecht-checkbox--hover, .utrecht-custom-checkbox--hover { background-color: var(--utrecht-checkbox-hover-background-color, var(--utrecht-checkbox-background-color)); border-color: var(--utrecht-checkbox-hover-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-hover-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--focus, .utrecht-custom-checkbox--focus { background-color: var(--utrecht-checkbox-focus-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-focus-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-focus-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--focus-visible, .utrecht-custom-checkbox--focus-visible { /* - The browser default focus ring should apply when these CSS custom properties are not set. * - Make the `box-shadow` value available, so components that have their own `box-shadow` * can combine it with the focus ring box shadow. */ --_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-checkbox--custom.utrecht-checkbox--html-input:disabled, .utrecht-custom-checkbox--html-input:disabled { border-color: var(--utrecht-checkbox-disabled-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-disabled-border-width, var(--utrecht-checkbox-border-width)); cursor: var(--utrecht-action-disabled-cursor, not-allowed); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:disabled:checked, .utrecht-custom-checkbox--html-input:disabled:checked { background-color: var(--utrecht-checkbox-disabled-background-color, var(--utrecht-checkbox-background-color)); border-color: var(--utrecht-checkbox-disabled-border-color, var(--utrecht-checkbox-border-color)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:disabled:active, .utrecht-custom-checkbox--html-input:disabled:active { border-color: var(--utrecht-checkbox-disabled-border-color, var(--utrecht-checkbox-border-color)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:hover, .utrecht-custom-checkbox--html-input:hover { background-color: var(--utrecht-checkbox-hover-background-color, var(--utrecht-checkbox-background-color)); border-color: var(--utrecht-checkbox-hover-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-hover-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:focus, .utrecht-custom-checkbox--html-input:focus { background-color: var(--utrecht-checkbox-focus-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-focus-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-focus-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:focus-visible, .utrecht-custom-checkbox--html-input:focus-visible { /* - The browser default focus ring should apply when these CSS custom properties are not set. * - Make the `box-shadow` value available, so components that have their own `box-shadow` * can combine it with the focus ring box shadow. */ --_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-checkbox--custom.utrecht-checkbox--html-input:invalid, .utrecht-checkbox--custom.utrecht-checkbox--html-input[aria-invalid=true], .utrecht-custom-checkbox--html-input:invalid, .utrecht-custom-checkbox--html-input[aria-invalid=true] { border-color: var(--utrecht-checkbox-invalid-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-invalid-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:active, .utrecht-custom-checkbox--html-input:active { background-color: var(--utrecht-checkbox-active-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-active-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-active-border-width, var(--utrecht-checkbox-border-width)); color: var(--utrecht-checkbox-active-color, var(--utrecht-checkbox-color)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:checked, .utrecht-custom-checkbox--html-input:checked { background-color: var(--utrecht-checkbox-checked-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-checked-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-checked-border-width, var(--utrecht-checkbox-border-width)); } .utrecht-checkbox--custom.utrecht-checkbox--html-input:indeterminate, .utrecht-checkbox--custom.utrecht-checkbox--html-input:checked:indeterminate, .utrecht-custom-checkbox--html-input:indeterminate, .utrecht-custom-checkbox--html-input:checked:indeterminate { background-color: var(--utrecht-checkbox-indeterminate-background-color, var(--utrecht-checkbox-background-color)); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); border-color: var(--utrecht-checkbox-indeterminate-border-color, var(--utrecht-checkbox-border-color)); border-width: var(--utrecht-checkbox-indeterminate-border-width, var(--utrecht-checkbox-border-width)); color: var(--utrecht-checkbox-indeterminate-color, var(--utrecht-checkbox-color)); }