@utrecht/component-library-css 1.0.0-alpha.99 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/html.css CHANGED
@@ -12,20 +12,17 @@
12
12
  * @license EUPL-1.2
13
13
  * Copyright (c) 2021 Robbert Broersma
14
14
  */
15
- /* stylelint-disable-next-line block-no-empty */
16
- /* stylelint-disable-next-line block-no-empty */
15
+ /* Collection of all semantic HTML styles in the component library */
17
16
  /**
18
17
  * @license EUPL-1.2
19
- * Copyright (c) 2021 Robbert Broersma
18
+ * Copyright (c) 2020-2022 Gemeente Utrecht
19
+ * Copyright (c) 2020-2022 Frameless B.V.
20
20
  */
21
21
  /**
22
22
  * @license EUPL-1.2
23
- * Copyright (c) 2021 Robbert Broersma
23
+ * Copyright (c) 2020-2022 Gemeente Utrecht
24
+ * Copyright (c) 2020-2022 Frameless B.V.
24
25
  */
25
- .utrecht-article, .utrecht-html article {
26
- max-inline-size: var(--utrecht-article-max-inline-size);
27
- }
28
-
29
26
  /**
30
27
  * @license EUPL-1.2
31
28
  * Copyright (c) 2021 Robbert Broersma
@@ -34,30 +31,6 @@
34
31
  * @license EUPL-1.2
35
32
  * Copyright (c) 2021 Robbert Broersma
36
33
  */
37
- .utrecht-blockquote, .utrecht-html blockquote {
38
- font-family: var(--utrecht-document-font-family);
39
- font-size: var(--utrecht-blockquote-font-size);
40
- margin-inline-end: var(--utrecht-blockquote-margin-inline-end);
41
- margin-inline-start: var(--utrecht-blockquote-margin-inline-start);
42
- }
43
-
44
- .utrecht-blockquote__attribution {
45
- color: var(--utrecht-blockquote-attribution-color, inherit);
46
- font-size: var(--utrecht-blockquote-attribution-font-size, inherit);
47
- }
48
-
49
- .utrecht-blockquote__content, .utrecht-html blockquote {
50
- --utrecht-document-color: var(--utrecht-blockquote-content-color, inherit);
51
- --utrecht-paragraph-font-size: var(--utrecht-blockquote-content-font-size, inherit);
52
- color: var(--utrecht-blockquote-content-color, inherit);
53
- font-size: var(--utrecht-blockquote-content-font-size, inherit);
54
- }
55
-
56
- .utrecht-blockquote--distanced, .utrecht-html blockquote {
57
- margin-block-end: var(--utrecht-blockquote-margin-block-end);
58
- margin-block-start: var(--utrecht-blockquote-margin-block-start);
59
- }
60
-
61
34
  /**
62
35
  * @license EUPL-1.2
63
36
  * Copyright (c) 2021 Robbert Broersma
@@ -67,111 +40,52 @@
67
40
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
68
41
  * Copyright (c) 2021 Gemeente Utrecht
69
42
  */
70
- .utrecht-button, .utrecht-html button {
71
- background-color: var(--utrecht-button-primary-action-background-color, var(--utrecht-button-background-color));
72
- block-size: var(--utrecht-button-block-size, auto);
73
- border-radius: var(--utrecht-button-border-radius);
74
- border-width: var(--utrecht-button-border-width);
75
- color: var(--utrecht-button-primary-action-color, var(--utrecht-button-color));
76
- font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
77
- font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
78
- font-weight: var(--utrecht-button-font-weight);
79
- inline-size: var(--utrecht-button-inline-size, auto);
80
- letter-spacing: var(--utrecht-button-letter-spacing);
81
- min-inline-size: var(--utrecht-button-min-inline-size, 0);
82
- padding-block-end: var(--utrecht-button-padding-block-end);
83
- padding-block-start: var(--utrecht-button-padding-block-start);
84
- padding-inline-end: var(--utrecht-button-padding-inline-end);
85
- padding-inline-start: var(--utrecht-button-padding-inline-start);
86
- text-transform: var(--utrecht-button-text-transform);
87
- user-select: none;
88
- }
89
-
90
- .utrecht-button--distanced, .utrecht-html button {
91
- margin-block-end: var(--utrecht-button-margin-block-end);
92
- margin-block-start: var(--utrecht-button-margin-block-start);
93
- margin-inline-end: var(--utrecht-button-margin-inline-end);
94
- margin-inline-start: var(--utrecht-button-margin-inline-start);
95
- }
96
-
97
- .utrecht-button--submit, .utrecht-html button[type=submit] {
98
- /* lower priority specificty than busy and disabled cursor */
99
- cursor: var(--utrecht-action-submit-cursor);
100
- }
101
-
102
- .utrecht-button--busy, .utrecht-html button[aria-busy=true] {
103
- cursor: var(--utrecht-action-busy-cursor);
104
- }
105
-
106
- .utrecht-button:disabled, .utrecht-html button:disabled,
107
- .utrecht-button--disabled {
108
- background-color: var(--utrecht-button-disabled-background-color, var(--utrecht-button-background-color));
109
- color: var(--utrecht-button-disabled-color, var(--utrecht-button-color));
110
- cursor: var(--utrecht-action-disabled-cursor);
111
- }
112
-
113
- .utrecht-button:active, .utrecht-html button:active,
114
- .utrecht-button--active {
115
- background-color: var(--utrecht-button-active-background-color, var(--utrecht-button-background-color));
116
- color: var(--utrecht-button-active-color, var(--utrecht-button-color));
117
- }
118
-
119
- .utrecht-button--focus, .utrecht-html button:focus,
120
- .utrecht-button:not(.utrecht-button--disabled):focus {
121
- background-color: var(--utrecht-focus-background-color);
122
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
123
- color: var(--utrecht-focus-color, inherit);
124
- outline-color: var(--utrecht-focus-outline-color, transparent);
125
- outline-offset: 0;
126
- outline-style: var(--utrecht-focus-outline-style, solid);
127
- outline-width: var(--utrecht-focus-outline-width, 0);
128
- background-color: var(--utrecht-button-focus-background-color, var(--utrecht-button-background-color));
129
- color: var(--utrecht-button-focus-color, var(--utrecht-button-color));
130
- }
131
-
132
- .utrecht-button--hover:not(:disabled), .utrecht-html button:not(:disabled):hover,
133
- .utrecht-button:hover:not(:disabled):not(.utrecht-button--disabled) {
134
- background-color: var(--utrecht-button-hover-background-color, var(--utrecht-button-background-color));
135
- color: var(--utrecht-button-hover-color, var(--utrecht-button-color));
136
- transform: scale(var(--utrecht-button-focus-transform-scale, 1));
137
- }
138
-
139
43
  /**
140
44
  * @license EUPL-1.2
45
+ * Copyright (c) 2021 Gemeente Utrecht
141
46
  * Copyright (c) 2021 Robbert Broersma
142
47
  */
48
+ /* stylelint-disable-next-line block-no-empty */
143
49
  /**
144
50
  * @license EUPL-1.2
145
51
  * Copyright (c) 2021 Robbert Broersma
146
52
  */
147
- .utrecht-checkbox, .utrecht-html input[type=checkbox] {
148
- margin-block-end: 0;
149
- /* reset native margin for input[type="checkbox"] */
150
- margin-block-start: 0;
151
- margin-inline-end: 0;
152
- margin-inline-start: 0;
153
- }
154
-
155
- .utrecht-checkbox--disabled {
156
- cursor: var(--utrecht-action-disabled-cursor);
157
- }
158
-
159
53
  /**
160
54
  * @license EUPL-1.2
161
55
  * Copyright (c) 2021 Robbert Broersma
162
56
  */
163
57
  /**
164
58
  * @license EUPL-1.2
59
+ * Copyright (c) 2021 Gemeente Utrecht
165
60
  * Copyright (c) 2021 Robbert Broersma
166
61
  */
167
- .utrecht-emphasis--stressed, .utrecht-html em {
168
- font-style: var(--utrecht-emphasis-stressed-font-style, italic);
169
- }
170
-
171
- .utrecht-emphasis--strong, .utrecht-html strong {
172
- font-weight: var(--utrecht-emphasis-strong-font-weight, bold);
173
- }
174
-
62
+ /* stylelint-disable-next-line block-no-empty */
63
+ /* stylelint-disable-next-line block-no-empty */
64
+ /**
65
+ * @license EUPL-1.2
66
+ * Copyright (c) 2020-2022 Gemeente Utrecht
67
+ * Copyright (c) 2020-2022 Frameless B.V.
68
+ */
69
+ /**
70
+ * @license EUPL-1.2
71
+ * Copyright (c) 2020-2022 Gemeente Utrecht
72
+ * Copyright (c) 2020-2022 Frameless B.V.
73
+ */
74
+ /**
75
+ * @license EUPL-1.2
76
+ * Copyright (c) 2020-2022 Gemeente Utrecht
77
+ * Copyright (c) 2020-2022 Frameless B.V.
78
+ */
79
+ /**
80
+ * @license EUPL-1.2
81
+ * Copyright (c) 2020-2022 Gemeente Utrecht
82
+ * Copyright (c) 2020-2022 Frameless B.V.
83
+ */
84
+ /**
85
+ * @license EUPL-1.2
86
+ * Copyright (c) 2020-2022 Gemeente Utrecht
87
+ * Copyright (c) 2020-2022 Frameless B.V.
88
+ */
175
89
  /**
176
90
  * @license EUPL-1.2
177
91
  * Copyright (c) 2021 Robbert Broersma
@@ -180,42 +94,6 @@
180
94
  * @license EUPL-1.2
181
95
  * Copyright (c) 2021 Robbert Broersma
182
96
  */
183
- /* stylelint-disable-next-line block-no-empty */
184
- .utrecht-form-fieldset--reset-fieldset, .utrecht-html fieldset {
185
- border: 0;
186
- margin-inline-end: 0;
187
- margin-inline-start: 0;
188
- min-width: 0;
189
- padding-block-end: 0;
190
- padding-block-start: 0.01em;
191
- padding-inline-end: 0;
192
- padding-inline-start: 0;
193
- }
194
-
195
- .utrecht-form-fieldset__legend--reset-legend, .utrecht-html legend {
196
- padding-inline-end: 0;
197
- padding-inline-start: 0;
198
- }
199
-
200
- .utrecht-form-fieldset--distanced, .utrecht-html fieldset {
201
- margin-block-end: var(--utrecht-form-fieldset-margin-block-end, 0);
202
- margin-block-start: var(--utrecht-form-fieldset-margin-block-start, 0);
203
- }
204
-
205
- .utrecht-form-fieldset__legend, .utrecht-html legend {
206
- color: var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit));
207
- font-family: var(--utrecht-form-fieldset-legend-font-family, var(--utrecht-document-font-family));
208
- font-size: var(--utrecht-form-fieldset-legend-font-size);
209
- font-weight: var(--utrecht-form-fieldset-legend-font-weight);
210
- line-height: var(--utrecht-form-fieldset-legend-line-height);
211
- text-transform: var(--utrecht-form-fieldset-legend-text-transform);
212
- }
213
-
214
- .utrecht-form-fieldset__legend--distanced, .utrecht-html legend {
215
- margin-block-end: var(--utrecht-form-fieldset-legend-margin-block-end);
216
- margin-block-start: var(--utrecht-form-fieldset-legend-margin-block-start);
217
- }
218
-
219
97
  /**
220
98
  * @license EUPL-1.2
221
99
  * Copyright (c) 2021 Robbert Broersma
@@ -224,112 +102,45 @@
224
102
  * @license EUPL-1.2
225
103
  * Copyright (c) 2021 Robbert Broersma
226
104
  */
227
- .utrecht-form-label, .utrecht-html label {
228
- color: var(--utrecht-form-label-color);
229
- font-size: var(--utrecht-form-label-font-size);
230
- font-weight: var(--utrecht-form-label-font-weight);
231
- }
232
-
233
- .utrecht-form-label--checkbox, .utrecht-html input[type=checkbox] ~ label {
234
- color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
235
- font-weight: var(--utrecht-form-label-checkbox-font-weight, var(--utrecht-form-label-font-weight));
236
- }
237
-
238
- .utrecht-form-label--checked {
239
- font-weight: var(--utrecht-form-label-checked-font-weight, var(--utrecht-form-label-font-weight));
240
- }
241
-
242
- .utrecht-form-label--disabled {
243
- cursor: var(--utrecht-action-disabled-cursor);
244
- font-weight: var(--utrecht-form-label-disabled-color, var(--utrecht-form-label-color));
245
- }
246
-
247
- .utrecht-form-label--radio, .utrecht-html input[type=radio] ~ label {
248
- color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
249
- font-weight: var(--utrecht-form-label-radio-font-weight, var(--utrecht-form-label-font-weight));
250
- }
251
-
252
105
  /**
253
106
  * @license EUPL-1.2
254
107
  * Copyright (c) 2021 Robbert Broersma
255
108
  */
256
109
  /**
257
110
  * @license EUPL-1.2
258
- * Copyright (c) 2021 Gemeente Utrecht
259
111
  * Copyright (c) 2021 Robbert Broersma
260
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
261
112
  */
262
- .utrecht-heading-1, .utrecht-html h1 {
263
- color: var(--utrecht-heading-1-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
264
- font-family: var(--utrecht-heading-1-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
265
- font-size: var(--utrecht-heading-1-font-size);
266
- font-weight: var(--utrecht-heading-1-font-weight, var(--utrecht-heading-font-weight, bold));
267
- letter-spacing: var(--utrecht-heading-1-letter-spacing);
268
- line-height: var(--utrecht-heading-1-line-height);
269
- margin-block-end: 0;
270
- margin-block-start: 0;
271
- text-transform: var(--utrecht-heading-1-text-transform, inherit);
272
- }
273
-
274
- .utrecht-heading-1--distanced, .utrecht-html h1 {
275
- margin-block-end: var(--utrecht-heading-1-margin-block-end);
276
- margin-block-start: var(--utrecht-heading-1-margin-block-start);
277
- }
278
-
113
+ /**
114
+ * @license EUPL-1.2
115
+ * Copyright (c) 2020-2022 Gemeente Utrecht
116
+ * Copyright (c) 2020-2022 Frameless B.V.
117
+ */
118
+ /**
119
+ * @license EUPL-1.2
120
+ * Copyright (c) 2020-2022 Gemeente Utrecht
121
+ * Copyright (c) 2020-2022 Frameless B.V.
122
+ */
279
123
  /**
280
124
  * @license EUPL-1.2
281
125
  * Copyright (c) 2021 Robbert Broersma
282
126
  */
283
127
  /**
284
128
  * @license EUPL-1.2
285
- * Copyright (c) 2021 Gemeente Utrecht
286
129
  * Copyright (c) 2021 Robbert Broersma
287
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
288
130
  */
289
- .utrecht-heading-2, .utrecht-html h2 {
290
- color: var(--utrecht-heading-2-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
291
- font-family: var(--utrecht-heading-2-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
292
- font-size: var(--utrecht-heading-2-font-size);
293
- font-weight: var(--utrecht-heading-2-font-weight, var(--utrecht-heading-font-weight, bold));
294
- letter-spacing: var(--utrecht-heading-2-letter-spacing);
295
- line-height: var(--utrecht-heading-2-line-height);
296
- margin-block-end: 0;
297
- margin-block-start: 0;
298
- text-transform: var(--utrecht-heading-2-text-transform, inherit);
299
- }
300
-
301
- .utrecht-heading-2--distanced, .utrecht-html h2 {
302
- margin-block-end: var(--utrecht-heading-2-margin-block-end);
303
- margin-block-start: var(--utrecht-heading-2-margin-block-start);
304
- }
305
-
131
+ /**
132
+ * @license EUPL-1.2
133
+ * Copyright (c) 2021 Robbert Broersma
134
+ */
135
+ /* stylelint-disable-next-line block-no-empty */
306
136
  /**
307
137
  * @license EUPL-1.2
308
138
  * Copyright (c) 2021 Robbert Broersma
309
139
  */
310
140
  /**
311
141
  * @license EUPL-1.2
312
- * Copyright (c) 2021 Gemeente Utrecht
313
142
  * Copyright (c) 2021 Robbert Broersma
314
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
315
143
  */
316
- .utrecht-heading-3, .utrecht-html h3 {
317
- color: var(--utrecht-heading-3-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
318
- font-family: var(--utrecht-heading-3-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
319
- font-size: var(--utrecht-heading-3-font-size);
320
- font-weight: var(--utrecht-heading-3-font-weight, var(--utrecht-heading-font-weight, bold));
321
- letter-spacing: var(--utrecht-heading-3-letter-spacing);
322
- line-height: var(--utrecht-heading-3-line-height);
323
- margin-block-end: 0;
324
- margin-block-start: 0;
325
- text-transform: var(--utrecht-heading-3-text-transform, inherit);
326
- }
327
-
328
- .utrecht-heading-3--distanced, .utrecht-html h3 {
329
- margin-block-end: var(--utrecht-heading-3-margin-block-end);
330
- margin-block-start: var(--utrecht-heading-3-margin-block-start);
331
- }
332
-
333
144
  /**
334
145
  * @license EUPL-1.2
335
146
  * Copyright (c) 2021 Robbert Broersma
@@ -340,23 +151,10 @@
340
151
  * Copyright (c) 2021 Robbert Broersma
341
152
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
342
153
  */
343
- .utrecht-heading-4, .utrecht-html h4 {
344
- color: var(--utrecht-heading-4-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
345
- font-family: var(--utrecht-heading-4-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
346
- font-size: var(--utrecht-heading-4-font-size);
347
- font-weight: var(--utrecht-heading-4-font-weight, var(--utrecht-heading-font-weight, bold));
348
- letter-spacing: var(--utrecht-heading-4-letter-spacing);
349
- line-height: var(--utrecht-heading-4-line-height);
350
- margin-block-end: 0;
351
- margin-block-start: 0;
352
- text-transform: var(--utrecht-heading-4-text-transform, inherit);
353
- }
354
-
355
- .utrecht-heading-4--distanced, .utrecht-html h4 {
356
- margin-block-end: var(--utrecht-heading-4-margin-block-end);
357
- margin-block-start: var(--utrecht-heading-4-margin-block-start);
358
- }
359
-
154
+ /**
155
+ * @license EUPL-1.2
156
+ * Copyright (c) 2021-2022 Frameless B.V.
157
+ */
360
158
  /**
361
159
  * @license EUPL-1.2
362
160
  * Copyright (c) 2021 Robbert Broersma
@@ -367,23 +165,10 @@
367
165
  * Copyright (c) 2021 Robbert Broersma
368
166
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
369
167
  */
370
- .utrecht-heading-5, .utrecht-html h5 {
371
- color: var(--utrecht-heading-5-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
372
- font-family: var(--utrecht-heading-5-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
373
- font-size: var(--utrecht-heading-5-font-size);
374
- font-weight: var(--utrecht-heading-5-font-weight, var(--utrecht-heading-font-weight, bold));
375
- letter-spacing: var(--utrecht-heading-5-letter-spacing);
376
- line-height: var(--utrecht-heading-5-line-height);
377
- margin-block-end: 0;
378
- margin-block-start: 0;
379
- text-transform: var(--utrecht-heading-5-text-transform, inherit);
380
- }
381
-
382
- .utrecht-heading-5--distanced, .utrecht-html h5 {
383
- margin-block-end: var(--utrecht-heading-5-margin-block-end);
384
- margin-block-start: var(--utrecht-heading-5-margin-block-start);
385
- }
386
-
168
+ /**
169
+ * @license EUPL-1.2
170
+ * Copyright (c) 2021-2022 Frameless B.V.
171
+ */
387
172
  /**
388
173
  * @license EUPL-1.2
389
174
  * Copyright (c) 2021 Robbert Broersma
@@ -394,82 +179,62 @@
394
179
  * Copyright (c) 2021 Robbert Broersma
395
180
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
396
181
  */
397
- .utrecht-heading-6, .utrecht-html h6 {
398
- color: var(--utrecht-heading-6-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
399
- font-family: var(--utrecht-heading-6-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
400
- font-size: var(--utrecht-heading-6-font-size);
401
- font-weight: var(--utrecht-heading-6-font-weight, var(--utrecht-heading-font-weight, bold));
402
- letter-spacing: var(--utrecht-heading-6-letter-spacing);
403
- line-height: var(--utrecht-heading-6-line-height);
404
- margin-block-end: 0;
405
- margin-block-start: 0;
406
- text-transform: var(--utrecht-heading-6-text-transform, inherit);
407
- }
408
-
409
- .utrecht-heading-6--distanced, .utrecht-html h6 {
410
- margin-block-end: var(--utrecht-heading-6-margin-block-end);
411
- margin-block-start: var(--utrecht-heading-6-margin-block-start);
412
- }
413
-
182
+ /**
183
+ * @license EUPL-1.2
184
+ * Copyright (c) 2021-2022 Frameless B.V.
185
+ */
414
186
  /**
415
187
  * @license EUPL-1.2
416
188
  * Copyright (c) 2021 Robbert Broersma
417
189
  */
418
- /* Collection of all semantic HTML styles in the component library */
419
190
  /**
420
191
  * @license EUPL-1.2
192
+ * Copyright (c) 2021 Gemeente Utrecht
421
193
  * Copyright (c) 2021 Robbert Broersma
194
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
195
+ */
196
+ /**
197
+ * @license EUPL-1.2
198
+ * Copyright (c) 2021-2022 Frameless B.V.
422
199
  */
423
200
  /**
424
201
  * @license EUPL-1.2
425
202
  * Copyright (c) 2021 Robbert Broersma
426
203
  */
427
- /* stylelint-disable-next-line block-no-empty */
428
- /* stylelint-disable-next-line block-no-empty */
429
204
  /**
430
205
  * @license EUPL-1.2
206
+ * Copyright (c) 2021 Gemeente Utrecht
431
207
  * Copyright (c) 2021 Robbert Broersma
208
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
209
+ */
210
+ /**
211
+ * @license EUPL-1.2
212
+ * Copyright (c) 2021-2022 Frameless B.V.
432
213
  */
433
214
  /**
434
215
  * @license EUPL-1.2
435
216
  * Copyright (c) 2021 Robbert Broersma
436
217
  */
437
- .utrecht-article, .utrecht-html article {
438
- max-inline-size: var(--utrecht-article-max-inline-size);
439
- }
440
-
441
218
  /**
442
219
  * @license EUPL-1.2
220
+ * Copyright (c) 2021 Gemeente Utrecht
443
221
  * Copyright (c) 2021 Robbert Broersma
222
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
223
+ */
224
+ /**
225
+ * @license EUPL-1.2
226
+ * Copyright (c) 2021-2022 Frameless B.V.
444
227
  */
445
228
  /**
446
229
  * @license EUPL-1.2
447
230
  * Copyright (c) 2021 Robbert Broersma
448
231
  */
449
- .utrecht-blockquote, .utrecht-html blockquote {
450
- font-family: var(--utrecht-document-font-family);
451
- font-size: var(--utrecht-blockquote-font-size);
452
- margin-inline-end: var(--utrecht-blockquote-margin-inline-end);
453
- margin-inline-start: var(--utrecht-blockquote-margin-inline-start);
454
- }
455
-
456
- .utrecht-blockquote__attribution {
457
- color: var(--utrecht-blockquote-attribution-color, inherit);
458
- font-size: var(--utrecht-blockquote-attribution-font-size, inherit);
459
- }
460
-
461
- .utrecht-blockquote__content, .utrecht-html blockquote {
462
- --utrecht-document-color: var(--utrecht-blockquote-content-color, inherit);
463
- --utrecht-paragraph-font-size: var(--utrecht-blockquote-content-font-size, inherit);
464
- color: var(--utrecht-blockquote-content-color, inherit);
465
- font-size: var(--utrecht-blockquote-content-font-size, inherit);
466
- }
467
-
468
- .utrecht-blockquote--distanced, .utrecht-html blockquote {
469
- margin-block-end: var(--utrecht-blockquote-margin-block-end);
470
- margin-block-start: var(--utrecht-blockquote-margin-block-start);
471
- }
472
-
232
+ /**
233
+ * @license EUPL-1.2
234
+ * Copyright (c) 2022 Gemeente Utrecht
235
+ * Copyright (c) 2022 Robbert Broersma
236
+ * Copyright (c) 2022 The Knights Who Say NIH! B.V.
237
+ */
473
238
  /**
474
239
  * @license EUPL-1.2
475
240
  * Copyright (c) 2021 Robbert Broersma
@@ -479,296 +244,125 @@
479
244
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
480
245
  * Copyright (c) 2021 Gemeente Utrecht
481
246
  */
482
- .utrecht-button, .utrecht-html button {
483
- background-color: var(--utrecht-button-primary-action-background-color, var(--utrecht-button-background-color));
484
- block-size: var(--utrecht-button-block-size, auto);
485
- border-radius: var(--utrecht-button-border-radius);
486
- border-width: var(--utrecht-button-border-width);
487
- color: var(--utrecht-button-primary-action-color, var(--utrecht-button-color));
488
- font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
489
- font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
490
- font-weight: var(--utrecht-button-font-weight);
491
- inline-size: var(--utrecht-button-inline-size, auto);
492
- letter-spacing: var(--utrecht-button-letter-spacing);
493
- min-inline-size: var(--utrecht-button-min-inline-size, 0);
494
- padding-block-end: var(--utrecht-button-padding-block-end);
495
- padding-block-start: var(--utrecht-button-padding-block-start);
496
- padding-inline-end: var(--utrecht-button-padding-inline-end);
497
- padding-inline-start: var(--utrecht-button-padding-inline-start);
498
- text-transform: var(--utrecht-button-text-transform);
499
- user-select: none;
500
- }
247
+ /* stylelint-disable scss/no-global-function-names */
248
+ /**
249
+ * @license EUPL-1.2
250
+ * Copyright (c) 2021 Gemeente Utrecht
251
+ * Copyright (c) 2021 Robbert Broersma
252
+ */
253
+ /* stylelint-disable-next-line block-no-empty */
254
+ /*
501
255
 
502
- .utrecht-button--distanced, .utrecht-html button {
503
- margin-block-end: var(--utrecht-button-margin-block-end);
504
- margin-block-start: var(--utrecht-button-margin-block-start);
505
- margin-inline-end: var(--utrecht-button-margin-inline-end);
506
- margin-inline-start: var(--utrecht-button-margin-inline-start);
507
- }
256
+ # CSS implementation
508
257
 
509
- .utrecht-button--submit, .utrecht-html button[type=submit] {
510
- /* lower priority specificty than busy and disabled cursor */
511
- cursor: var(--utrecht-action-submit-cursor);
512
- }
258
+ ## `text-decoration-skip`
513
259
 
514
- .utrecht-button--busy, .utrecht-html button[aria-busy=true] {
515
- cursor: var(--utrecht-action-busy-cursor);
516
- }
260
+ `text-decoration-skip` can be helpful to avoid making some texts unreadable.
261
+ For example by obscuring Arabic diacritics.
517
262
 
518
- .utrecht-button:disabled, .utrecht-html button:disabled,
519
- .utrecht-button--disabled {
520
- background-color: var(--utrecht-button-disabled-background-color, var(--utrecht-button-background-color));
521
- color: var(--utrecht-button-disabled-color, var(--utrecht-button-color));
522
- cursor: var(--utrecht-action-disabled-cursor);
523
- }
263
+ However, the combination of a greater thickness and skipping this thick underline
264
+ leads to a very unappealing rendering of the underline. To avoid this,
265
+ `text-decoration-skip` is disabled for interactive states.
524
266
 
525
- .utrecht-button:active, .utrecht-html button:active,
526
- .utrecht-button--active {
527
- background-color: var(--utrecht-button-active-background-color, var(--utrecht-button-background-color));
528
- color: var(--utrecht-button-active-color, var(--utrecht-button-color));
529
- }
267
+ For design token configurations that have identical thickness for normal and interactive
268
+ states, this will lead to the (undesirable) effect that the focus/hover effect is switching
269
+ from an interrupted to an uninterrupted underline (for some texts).
530
270
 
531
- .utrecht-button--focus, .utrecht-html button:focus,
532
- .utrecht-button:not(.utrecht-button--disabled):focus {
533
- background-color: var(--utrecht-focus-background-color);
534
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
535
- color: var(--utrecht-focus-color, inherit);
536
- outline-color: var(--utrecht-focus-outline-color, transparent);
537
- outline-offset: 0;
538
- outline-style: var(--utrecht-focus-outline-style, solid);
539
- outline-width: var(--utrecht-focus-outline-width, 0);
540
- background-color: var(--utrecht-button-focus-background-color, var(--utrecht-button-background-color));
541
- color: var(--utrecht-button-focus-color, var(--utrecht-button-color));
542
- }
271
+ Apart from making `skip-ink` configurable for normal/focus/hover, there is no good solution yet.
543
272
 
544
- .utrecht-button--hover:not(:disabled), .utrecht-html button:not(:disabled):hover,
545
- .utrecht-button:hover:not(:disabled):not(.utrecht-button--disabled) {
546
- background-color: var(--utrecht-button-hover-background-color, var(--utrecht-button-background-color));
547
- color: var(--utrecht-button-hover-color, var(--utrecht-button-color));
548
- transform: scale(var(--utrecht-button-focus-transform-scale, 1));
549
- }
273
+ ---
550
274
 
551
- /**
552
- * @license EUPL-1.2
553
- * Copyright (c) 2021 Robbert Broersma
554
- */
555
- /**
556
- * @license EUPL-1.2
557
- * Copyright (c) 2021 Robbert Broersma
558
- */
559
- .utrecht-checkbox, .utrecht-html input[type=checkbox] {
560
- margin-block-end: 0;
561
- /* reset native margin for input[type="checkbox"] */
562
- margin-block-start: 0;
563
- margin-inline-end: 0;
564
- margin-inline-start: 0;
565
- }
275
+ Disabling `text-decoration-skip` for interactive states obscures some texts, and we assume for now
276
+ that moving the pointer away from a link or having focus elsewhere first is simple enough to
277
+ not make this too inconvenient.
566
278
 
567
- .utrecht-checkbox--disabled {
568
- cursor: var(--utrecht-action-disabled-cursor);
569
- }
279
+ ---
570
280
 
571
- /**
572
- * @license EUPL-1.2
573
- * Copyright (c) 2021 Robbert Broersma
574
- */
575
- /**
576
- * @license EUPL-1.2
577
- * Copyright (c) 2021 Robbert Broersma
578
- */
579
- .utrecht-emphasis--stressed, .utrecht-html em {
580
- font-style: var(--utrecht-emphasis-stressed-font-style, italic);
581
- }
281
+ Some folks implement the underline of links using `border-bottom` or even using a finely crafted
282
+ `linear-gradient()` with a solid color at the bottom and transparent behind the text. These approaches
283
+ would unfortunately not be able to provide the improved readability of `text-decoration-skip`.
582
284
 
583
- .utrecht-emphasis--strong, .utrecht-html strong {
584
- font-weight: var(--utrecht-emphasis-strong-font-weight, bold);
585
- }
285
+ ## `text-decoration-thickness`
586
286
 
587
- /**
588
- * @license EUPL-1.2
589
- * Copyright (c) 2021 Robbert Broersma
590
- */
591
- /**
592
- * @license EUPL-1.2
593
- * Copyright (c) 2021 Robbert Broersma
594
- */
595
- /* stylelint-disable-next-line block-no-empty */
596
- .utrecht-form-fieldset--reset-fieldset, .utrecht-html fieldset {
597
- border: 0;
598
- margin-inline-end: 0;
599
- margin-inline-start: 0;
600
- min-width: 0;
601
- padding-block-end: 0;
602
- padding-block-start: 0.01em;
603
- padding-inline-end: 0;
604
- padding-inline-start: 0;
605
- }
287
+ Varying `text-decoration-thickness` can be used to distinguish interactive states.
606
288
 
607
- .utrecht-form-fieldset__legend--reset-legend, .utrecht-html legend {
608
- padding-inline-end: 0;
609
- padding-inline-start: 0;
610
- }
289
+ ---
611
290
 
612
- .utrecht-form-fieldset--distanced, .utrecht-html fieldset {
613
- margin-block-end: var(--utrecht-form-fieldset-margin-block-end, 0);
614
- margin-block-start: var(--utrecht-form-fieldset-margin-block-start, 0);
615
- }
291
+ `text-decoration-thickness` appears to have rendering differences between Chrome and Safari.
292
+ In Safari the line becomes thicker with extra pixels added to the bottom, while in Chrome
293
+ the underline offset also seems to increase along with the thickness, which effectively means
294
+ the underline is closer to the next line than in Safari.
616
295
 
617
- .utrecht-form-fieldset__legend, .utrecht-html legend {
618
- color: var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit));
619
- font-family: var(--utrecht-form-fieldset-legend-font-family, var(--utrecht-document-font-family));
620
- font-size: var(--utrecht-form-fieldset-legend-font-size);
621
- font-weight: var(--utrecht-form-fieldset-legend-font-weight);
622
- line-height: var(--utrecht-form-fieldset-legend-line-height);
623
- text-transform: var(--utrecht-form-fieldset-legend-text-transform);
624
- }
296
+ ---
625
297
 
626
- .utrecht-form-fieldset__legend--distanced, .utrecht-html legend {
627
- margin-block-end: var(--utrecht-form-fieldset-legend-margin-block-end);
628
- margin-block-start: var(--utrecht-form-fieldset-legend-margin-block-start);
629
- }
298
+ It might be nice to use font-relative units for `text-decoration-thickness`, and that is why we
299
+ use the `max()` function to ensure the underline remains visible for every font size.
630
300
 
301
+ ## `transition`
302
+
303
+ `text-decoration-thickness` could be a candidate for animating between interactive states,
304
+ however browsers don't seem to have implemented great looking supixel tweening yet.
305
+
306
+ `text-decoration-skip` also makes the transition more challenging to implement.
307
+
308
+ */
309
+ /**
310
+ * Simulate forced-colors mode.
311
+ */
312
+ /* stylelint-disable-next-line block-no-empty */
313
+ /* stylelint-disable-next-line block-no-empty */
314
+ /* stylelint-disable-next-line block-no-empty */
315
+ /* stylelint-disable-next-line block-no-empty */
316
+ /**
317
+ * Link for elements such as `<img>` or `<article>`, that are not inline elements or plain text.
318
+ *
319
+ * Changing `display: inline` to `inline-block` ensures the focus outline is rendered around the entire box.
320
+ */
631
321
  /**
632
322
  * @license EUPL-1.2
633
323
  * Copyright (c) 2021 Robbert Broersma
634
324
  */
635
325
  /**
636
326
  * @license EUPL-1.2
327
+ * Copyright (c) 2021 Gemeente Utrecht
637
328
  * Copyright (c) 2021 Robbert Broersma
638
329
  */
639
- .utrecht-form-label, .utrecht-html label {
640
- color: var(--utrecht-form-label-color);
641
- font-size: var(--utrecht-form-label-font-size);
642
- font-weight: var(--utrecht-form-label-font-weight);
643
- }
644
-
645
- .utrecht-form-label--checkbox, .utrecht-html input[type=checkbox] ~ label {
646
- color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
647
- font-weight: var(--utrecht-form-label-checkbox-font-weight, var(--utrecht-form-label-font-weight));
648
- }
649
-
650
- .utrecht-form-label--checked {
651
- font-weight: var(--utrecht-form-label-checked-font-weight, var(--utrecht-form-label-font-weight));
652
- }
653
-
654
- .utrecht-form-label--disabled {
655
- cursor: var(--utrecht-action-disabled-cursor);
656
- font-weight: var(--utrecht-form-label-disabled-color, var(--utrecht-form-label-color));
657
- }
658
-
659
- .utrecht-form-label--radio, .utrecht-html input[type=radio] ~ label {
660
- color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
661
- font-weight: var(--utrecht-form-label-radio-font-weight, var(--utrecht-form-label-font-weight));
662
- }
663
-
664
330
  /**
665
331
  * @license EUPL-1.2
666
332
  * Copyright (c) 2021 Robbert Broersma
667
333
  */
668
334
  /**
669
335
  * @license EUPL-1.2
670
- * Copyright (c) 2021 Gemeente Utrecht
671
336
  * Copyright (c) 2021 Robbert Broersma
672
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
337
+ * Copyright (c) 2021 Gemeente Utrecht
673
338
  */
674
- .utrecht-heading-1, .utrecht-html h1 {
675
- color: var(--utrecht-heading-1-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
676
- font-family: var(--utrecht-heading-1-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
677
- font-size: var(--utrecht-heading-1-font-size);
678
- font-weight: var(--utrecht-heading-1-font-weight, var(--utrecht-heading-font-weight, bold));
679
- letter-spacing: var(--utrecht-heading-1-letter-spacing);
680
- line-height: var(--utrecht-heading-1-line-height);
681
- margin-block-end: 0;
682
- margin-block-start: 0;
683
- text-transform: var(--utrecht-heading-1-text-transform, inherit);
684
- }
685
-
686
- .utrecht-heading-1--distanced, .utrecht-html h1 {
687
- margin-block-end: var(--utrecht-heading-1-margin-block-end);
688
- margin-block-start: var(--utrecht-heading-1-margin-block-start);
689
- }
690
-
691
339
  /**
692
340
  * @license EUPL-1.2
693
341
  * Copyright (c) 2021 Robbert Broersma
694
342
  */
695
343
  /**
696
344
  * @license EUPL-1.2
697
- * Copyright (c) 2021 Gemeente Utrecht
698
- * Copyright (c) 2021 Robbert Broersma
699
345
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
700
346
  */
701
- .utrecht-heading-2, .utrecht-html h2 {
702
- color: var(--utrecht-heading-2-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
703
- font-family: var(--utrecht-heading-2-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
704
- font-size: var(--utrecht-heading-2-font-size);
705
- font-weight: var(--utrecht-heading-2-font-weight, var(--utrecht-heading-font-weight, bold));
706
- letter-spacing: var(--utrecht-heading-2-letter-spacing);
707
- line-height: var(--utrecht-heading-2-line-height);
708
- margin-block-end: 0;
709
- margin-block-start: 0;
710
- text-transform: var(--utrecht-heading-2-text-transform, inherit);
711
- }
712
-
713
- .utrecht-heading-2--distanced, .utrecht-html h2 {
714
- margin-block-end: var(--utrecht-heading-2-margin-block-end);
715
- margin-block-start: var(--utrecht-heading-2-margin-block-start);
716
- }
717
-
718
347
  /**
719
348
  * @license EUPL-1.2
720
- * Copyright (c) 2021 Robbert Broersma
349
+ * Copyright (c) 2021 Gemeente Utrecht
721
350
  */
722
351
  /**
723
352
  * @license EUPL-1.2
724
- * Copyright (c) 2021 Gemeente Utrecht
725
353
  * Copyright (c) 2021 Robbert Broersma
726
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
727
354
  */
728
- .utrecht-heading-3, .utrecht-html h3 {
729
- color: var(--utrecht-heading-3-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
730
- font-family: var(--utrecht-heading-3-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
731
- font-size: var(--utrecht-heading-3-font-size);
732
- font-weight: var(--utrecht-heading-3-font-weight, var(--utrecht-heading-font-weight, bold));
733
- letter-spacing: var(--utrecht-heading-3-letter-spacing);
734
- line-height: var(--utrecht-heading-3-line-height);
735
- margin-block-end: 0;
736
- margin-block-start: 0;
737
- text-transform: var(--utrecht-heading-3-text-transform, inherit);
738
- }
739
-
740
- .utrecht-heading-3--distanced, .utrecht-html h3 {
741
- margin-block-end: var(--utrecht-heading-3-margin-block-end);
742
- margin-block-start: var(--utrecht-heading-3-margin-block-start);
743
- }
744
-
745
355
  /**
746
356
  * @license EUPL-1.2
357
+ * Copyright (c) 2021 Gemeente Utrecht
747
358
  * Copyright (c) 2021 Robbert Broersma
748
359
  */
360
+ /* stylelint-disable-next-line block-no-empty */
361
+ /* stylelint-disable-next-line block-no-empty */
749
362
  /**
750
363
  * @license EUPL-1.2
751
- * Copyright (c) 2021 Gemeente Utrecht
752
364
  * Copyright (c) 2021 Robbert Broersma
753
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
754
365
  */
755
- .utrecht-heading-4, .utrecht-html h4 {
756
- color: var(--utrecht-heading-4-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
757
- font-family: var(--utrecht-heading-4-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
758
- font-size: var(--utrecht-heading-4-font-size);
759
- font-weight: var(--utrecht-heading-4-font-weight, var(--utrecht-heading-font-weight, bold));
760
- letter-spacing: var(--utrecht-heading-4-letter-spacing);
761
- line-height: var(--utrecht-heading-4-line-height);
762
- margin-block-end: 0;
763
- margin-block-start: 0;
764
- text-transform: var(--utrecht-heading-4-text-transform, inherit);
765
- }
766
-
767
- .utrecht-heading-4--distanced, .utrecht-html h4 {
768
- margin-block-end: var(--utrecht-heading-4-margin-block-end);
769
- margin-block-start: var(--utrecht-heading-4-margin-block-start);
770
- }
771
-
772
366
  /**
773
367
  * @license EUPL-1.2
774
368
  * Copyright (c) 2021 Robbert Broersma
@@ -777,25 +371,12 @@
777
371
  * @license EUPL-1.2
778
372
  * Copyright (c) 2021 Gemeente Utrecht
779
373
  * Copyright (c) 2021 Robbert Broersma
780
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
781
374
  */
782
- .utrecht-heading-5, .utrecht-html h5 {
783
- color: var(--utrecht-heading-5-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
784
- font-family: var(--utrecht-heading-5-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
785
- font-size: var(--utrecht-heading-5-font-size);
786
- font-weight: var(--utrecht-heading-5-font-weight, var(--utrecht-heading-font-weight, bold));
787
- letter-spacing: var(--utrecht-heading-5-letter-spacing);
788
- line-height: var(--utrecht-heading-5-line-height);
789
- margin-block-end: 0;
790
- margin-block-start: 0;
791
- text-transform: var(--utrecht-heading-5-text-transform, inherit);
792
- }
793
-
794
- .utrecht-heading-5--distanced, .utrecht-html h5 {
795
- margin-block-end: var(--utrecht-heading-5-margin-block-end);
796
- margin-block-start: var(--utrecht-heading-5-margin-block-start);
797
- }
798
-
375
+ /* stylelint-disable-next-line block-no-empty */
376
+ /* TODO: Enable ordering properties when the plugin supports logical CSS properties
377
+ * https://github.com/hudochenkov/stylelint-order/pull/162 */
378
+ /* stylelint-disable order/properties-alphabetical-order */
379
+ /* stylelint-disable-next-line block-no-empty */
799
380
  /**
800
381
  * @license EUPL-1.2
801
382
  * Copyright (c) 2021 Robbert Broersma
@@ -806,75 +387,17 @@
806
387
  * Copyright (c) 2021 Robbert Broersma
807
388
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
808
389
  */
809
- .utrecht-heading-6, .utrecht-html h6 {
810
- color: var(--utrecht-heading-6-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
811
- font-family: var(--utrecht-heading-6-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
812
- font-size: var(--utrecht-heading-6-font-size);
813
- font-weight: var(--utrecht-heading-6-font-weight, var(--utrecht-heading-font-weight, bold));
814
- letter-spacing: var(--utrecht-heading-6-letter-spacing);
815
- line-height: var(--utrecht-heading-6-line-height);
816
- margin-block-end: 0;
817
- margin-block-start: 0;
818
- text-transform: var(--utrecht-heading-6-text-transform, inherit);
819
- }
820
-
821
- .utrecht-heading-6--distanced, .utrecht-html h6 {
822
- margin-block-end: var(--utrecht-heading-6-margin-block-end);
823
- margin-block-start: var(--utrecht-heading-6-margin-block-start);
824
- }
825
-
826
390
  /**
827
391
  * @license EUPL-1.2
828
392
  * Copyright (c) 2021 Robbert Broersma
829
393
  */
830
394
  /**
831
395
  * @license EUPL-1.2
832
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
833
- * Copyright (c) 2021 Gemeente Utrecht
396
+ * Copyright (c) 2021 Robbert Broersma
834
397
  */
835
- .utrecht-link, .utrecht-html a:link {
836
- color: var(--utrecht-link-color, blue);
837
- text-decoration: var(--utrecht-link-text-decoration, underline);
838
- }
839
-
840
- .utrecht-link:visited,
841
- .utrecht-link--visited,
842
- .utrecht-html a:visited {
843
- color: var(--utrecht-link-visited-color, var(--utrecht-link-color));
844
- }
845
-
846
- .utrecht-link:hover,
847
- .utrecht-link--hover,
848
- .utrecht-html a:hover {
849
- color: var(--utrecht-link-hover-color, var(--utrecht-link-color));
850
- text-decoration: var(--utrecht-link-hover-text-decoration, var(--utrecht-link-text-decoration, underline));
851
- }
852
-
853
- .utrecht-link:active,
854
- .utrecht-link--active,
855
- .utrecht-html a:active {
856
- color: var(--utrecht-link-active-color, var(--utrecht-link-color));
857
- }
858
-
859
- .utrecht-link:focus,
860
- .utrecht-link--focus,
861
- .utrecht-html a:focus {
862
- background-color: var(--utrecht-focus-background-color);
863
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
864
- color: var(--utrecht-focus-color, inherit);
865
- outline-color: var(--utrecht-focus-outline-color, transparent);
866
- outline-offset: 0;
867
- outline-style: var(--utrecht-focus-outline-style, solid);
868
- outline-width: var(--utrecht-focus-outline-width, 0);
869
- color: var(--utrecht-link-focus-color, var(--utrecht-link-color));
870
- text-decoration: var(--utrecht-link-focus-text-decoration, var(--utrecht-link-text-decoration, underline));
871
- }
872
-
873
398
  /* stylelint-disable-next-line block-no-empty */
874
- .utrecht-link--telephone, .utrecht-html a[href^="tel:" i] {
875
- white-space: nowrap;
876
- }
877
-
399
+ /* stylelint-disable-next-line block-no-empty */
400
+ /* stylelint-disable selector-class-pattern */
878
401
  /**
879
402
  * @license EUPL-1.2
880
403
  * Copyright (c) 2021 Robbert Broersma
@@ -882,938 +405,1405 @@
882
405
  /**
883
406
  * @license EUPL-1.2
884
407
  * Copyright (c) 2021 Robbert Broersma
885
- * Copyright (c) 2021 Gemeente Utrecht
886
408
  */
887
- .utrecht-ordered-list, .utrecht-html ol {
888
- font-family: var(--utrecht-document-font-family, inherit);
889
- margin-block-end: 0;
890
- margin-block-start: 0;
891
- padding-inline-start: var(--utrecht-ordered-list-padding-inline-start, var(--utrecht-unordered-list-padding-inline-start, 2ch));
892
- }
893
-
894
- .utrecht-ordered-list--distanced, .utrecht-html ol {
895
- margin-block-end: var(--utrecht-ordered-list-margin-block-end, var(--utrecht-unordered-list-margin-block-end));
896
- margin-block-start: var(--utrecht-ordered-list-margin-block-start, var(--utrecht-unordered-list-margin-block-start));
897
- }
898
-
899
- .utrecht-ordered-list__item, .utrecht-html ol > li {
900
- margin-block-end: var(--utrecht-ordered-list-item-margin-block-end, var(--utrecht-unordered-list-item-margin-block-end));
901
- margin-block-start: var(--utrecht-ordered-list-item-margin-block-start, var(--utrecht-unordered-list-item-margin-block-start));
902
- padding-inline-start: var(--utrecht-ordered-list-item-padding-inline-start, var(--utrecht-unordered-list-item-padding-inline-start, 1ch));
903
- }
904
-
905
409
  /**
906
410
  * @license EUPL-1.2
411
+ * Copyright (c) 2021 Gemeente Utrecht
907
412
  * Copyright (c) 2021 Robbert Broersma
908
413
  */
414
+ /* stylelint-disable-next-line block-no-empty */
415
+ /* TODO: Enable ordering properties when the plugin supports logical CSS properties
416
+ * https://github.com/hudochenkov/stylelint-order/pull/162 */
417
+ /* stylelint-disable order/properties-alphabetical-order */
909
418
  /**
910
419
  * @license EUPL-1.2
911
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
420
+ * Copyright (c) 2021 Robbert Broersma
912
421
  */
913
- .utrecht-paragraph, .utrecht-html p {
914
- color: var(--utrecht-document-color, inherit);
915
- font-family: var(--utrecht-paragraph-font-family, var(--utrecht-document-font-family, inherit));
916
- font-size: var(--utrecht-paragraph-font-size, var(--utrecht-document-font-size, inherit));
917
- font-weight: var(--utrecht-paragraph-font-weight, inherit);
918
- line-height: var(--utrecht-paragraph-line-height, var(--utrecht-document-line-height, inherit));
919
- margin-block-end: 0;
920
- margin-block-start: 0;
921
- }
922
-
923
- .utrecht-paragraph--lead, .utrecht-html p.lead {
924
- color: var(--utrecht-paragraph-lead-color, var(--utrecht-document-color, inherit));
925
- font-size: var(--utrecht-paragraph-lead-font-size, inherit);
926
- font-weight: var(--utrecht-paragraph-lead-font-weight, inherit);
927
- line-height: var(--utrecht-paragraph-lead-line-height, inherit);
928
- }
929
-
930
- .utrecht-paragraph--distanced, .utrecht-html * ~ p {
931
- margin-block-end: var(--utrecht-paragraph-margin-block-end);
932
- margin-block-start: var(--utrecht-paragraph-margin-block-start);
933
- }
934
-
935
- /* stylelint-disable selector-class-pattern */
936
422
  /**
937
423
  * @license EUPL-1.2
938
- * Copyright (c) 2021 Gemeente Utrecht
424
+ * Copyright (c) 2021 Robbert Broersma
939
425
  */
940
426
  /**
941
427
  * @license EUPL-1.2
942
428
  * Copyright (c) 2021 Gemeente Utrecht
429
+ * Copyright (c) 2021 Robbert Broersma
943
430
  */
944
- .utrecht-radio-button, .utrecht-html input[type=radio] {
945
- margin-block-end: 0;
946
- /* reset native margin for input[type="radio"] */
947
- margin-block-start: 0;
948
- margin-inline-end: 0;
949
- margin-inline-start: 0;
950
- }
951
-
952
431
  /* stylelint-disable-next-line block-no-empty */
953
- .utrecht-radio-button--disabled {
954
- cursor: var(--utrecht-action-disabled-cursor);
955
- }
956
-
432
+ /* TODO: Enable ordering properties when the plugin supports logical CSS properties
433
+ * https://github.com/hudochenkov/stylelint-order/pull/162 */
434
+ /* stylelint-disable order/properties-alphabetical-order */
957
435
  /**
958
436
  * @license EUPL-1.2
959
437
  * Copyright (c) 2021 Robbert Broersma
960
438
  */
961
439
  /**
962
440
  * @license EUPL-1.2
963
- * Copyright (c) 2021 Gemeente Utrecht
964
441
  * Copyright (c) 2021 Robbert Broersma
965
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
442
+ * Copyright (c) 2021 Gemeente Utrecht
966
443
  */
967
- .utrecht-separator, .utrecht-html hr {
968
- border-color: var(--utrecht-separator-color);
969
- border-style: solid;
970
- border-width: 0 0 var(--utrecht-separator-block-size) 0;
971
- }
972
-
973
- .utrecht-separator--distanced, .utrecht-html hr {
974
- margin-block-end: var(--utrecht-separator-margin-block-end);
975
- margin-block-start: var(--utrecht-separator-margin-block-start);
976
- }
977
-
978
- /**
979
- * @license EUPL-1.2
980
- * Copyright (c) 2021 Robbert Broersma
981
- */
982
- /**
983
- * @license EUPL-1.2
984
- * Copyright (c) 2021 Robbert Broersma
985
- */
986
- .utrecht-table, .utrecht-html table {
987
- border-collapse: collapse;
988
- border-color: var(--utrecht-table-border-color, 0);
989
- border-style: solid;
990
- border-width: var(--utrecht-table-border-width, 0);
991
- font-family: var(--utrecht-table-font-family, var(--utrecht-document-font-family));
992
- font-size: var(--utrecht-table-font-size, inherit);
993
- width: 100%;
994
- }
995
-
996
- .utrecht-table--distanced, .utrecht-html table {
997
- margin-block-end: var(--utrecht-table-margin-block-end);
998
- margin-block-start: var(--utrecht-table-margin-block-start);
999
- }
1000
-
1001
- .utrecht-table__caption, .utrecht-html caption {
1002
- color: var(--utrecht-table-caption-color);
1003
- font-family: var(--utrecht-table-caption-font-family);
1004
- font-size: var(--utrecht-table-caption-font-size);
1005
- font-weight: var(--utrecht-table-caption-font-weight);
1006
- line-height: var(--utrecht-table-caption-line-height);
1007
- margin-block-end: var(--utrecht-table-caption-margin-block-end);
1008
- text-align: var(--utrecht-table-caption-text-align, center);
1009
- }
1010
-
1011
- .utrecht-table__header, .utrecht-html thead {
1012
- color: var(--utrecht-table-header-color);
1013
- font-weight: var(--utrecht-table-header-font-weight);
1014
- text-transform: var(--utrecht-table-header-text-transform);
1015
- vertical-align: bottom;
1016
- }
1017
-
1018
- .utrecht-table__cell--last-header-row, .utrecht-html thead tr:last-child th {
1019
- border-block-end-color: var(--utrecht-table-header-border-block-end-color, transparent);
1020
- border-block-end-style: solid;
1021
- border-block-end-width: var(--utrecht-table-header-border-block-end-width, 0);
1022
- }
1023
-
1024
- .utrecht-table__body, .utrecht-html tbody {
1025
- vertical-align: baseline;
1026
- }
1027
-
1028
- .utrecht-table__heading, .utrecht-html th {
1029
- color: var(--utrecht-table-heading-color);
1030
- font-size: var(--utrecht-table-heading-font-size);
1031
- font-weight: var(--utrecht-table-heading-font-weight);
1032
- text-transform: var(--utrecht-table-heading-text-transform);
1033
- }
1034
-
1035
- .utrecht-table__cell, .utrecht-html th,
1036
- .utrecht-html td {
1037
- border-block-end-color: var(--utrecht-table-row-border-block-end-color, transparent);
1038
- border-block-end-style: solid;
1039
- border-block-end-width: var(--utrecht-table-row-border-block-end-width, 0);
1040
- line-height: var(--utrecht-table-cell-line-height, inherit);
1041
- padding-block-end: var(--utrecht-table-cell-padding-block-end, 0);
1042
- padding-block-start: var(--utrecht-table-cell-padding-block-start, 0);
1043
- padding-inline-end: var(--utrecht-table-cell-padding-inline-end, 0);
1044
- padding-inline-start: var(--utrecht-table-cell-padding-inline-start, 0);
1045
- text-align: start;
1046
- }
1047
-
1048
- .utrecht-table__cell--first, .utrecht-html td:first-child,
1049
- .utrecht-html th:first-child {
1050
- padding-inline-start: var(--utrecht-table-row-padding-inline-start, var(--utrecht-table-cell-padding-inline-start, 0));
1051
- }
1052
-
1053
- .utrecht-table__cell--last, .utrecht-html td:last-child,
1054
- .utrecht-html th:last-child {
1055
- padding-inline-end: var(--utrecht-table-row-padding-inline-end, var(--utrecht-table-cell-padding-inline-end, 0));
1056
- }
1057
-
1058
- .utrecht-table__cell--numeric, .utrecht-html th.numeric,
1059
- .utrecht-html td.numeric {
1060
- /* stylelint-disable-next-line declaration-property-value-disallowed-list */
1061
- text-align: right;
1062
- }
1063
-
1064
- .utrecht-table__row--alternate-odd, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > th, .utrecht-html table.alternate-row-color > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tr:nth-child(odd) > th {
1065
- background-color: var(--utrecht-table-row-alternate-odd-background-color);
1066
- color: var(--utrecht-table-row-alternate-odd-color);
444
+ /* Collection of all semantic HTML styles in the component library */
445
+ .utrecht-html {
446
+ /* override the `:focus` selector above */
447
+ /* stylelint-disable-next-line no-descending-specificity */
448
+ /* stylelint-disable selector-class-pattern */
449
+ --utrecht-space-around: 1;
1067
450
  }
1068
-
1069
- .utrecht-table__row--alternate-even, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > th, .utrecht-html table.alternate-row-color > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tr:nth-child(even) > th {
1070
- background-color: var(--utrecht-table-row-alternate-even-background-color);
1071
- color: var(--utrecht-table-row-alternate-even-color);
451
+ .utrecht-html article {
452
+ max-inline-size: var(--utrecht-article-max-inline-size);
1072
453
  }
1073
-
1074
- /* stylelint-disable selector-class-pattern */
1075
- /**
1076
- * @license EUPL-1.2
1077
- * Copyright (c) 2021 Robbert Broersma
1078
- */
1079
- /**
1080
- * @license EUPL-1.2
1081
- * Copyright (c) 2021 Robbert Broersma
1082
- */
1083
- .utrecht-textarea, .utrecht-html textarea {
1084
- background-color: var(--utrecht-textarea-background-color, var(--form-input-textarea-background-color));
1085
- border-width: var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width));
1086
- border-bottom-width: var(--utrecht-textarea-border-bottom-width, var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width)));
1087
- border-color: var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color));
1088
- border-radius: var(--utrecht-textarea-border-radius, var(--utrecht-form-input-border-radius, 0));
454
+ .utrecht-html blockquote {
455
+ background-color: var(--utrecht-blockquote-background-color);
456
+ color: var(--utrecht-blockquote-color);
457
+ font-family: var(--utrecht-document-font-family);
458
+ font-size: var(--utrecht-blockquote-font-size);
459
+ font-style: var(--utrecht-blockquote-font-style);
460
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-blockquote-margin-block-end, 0));
461
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-blockquote-margin-block-start, 0));
462
+ margin-inline-end: var(--utrecht-blockquote-margin-inline-end);
463
+ margin-inline-start: var(--utrecht-blockquote-margin-inline-start);
464
+ padding-block-end: var(--utrecht-blockquote-padding-block-end);
465
+ padding-block-start: var(--utrecht-blockquote-padding-block-start);
466
+ padding-inline-end: var(--utrecht-blockquote-padding-inline-end);
467
+ padding-inline-start: var(--utrecht-blockquote-padding-inline-start);
468
+ --utrecht-document-color: var(--utrecht-blockquote-content-color, inherit);
469
+ --utrecht-paragraph-font-size: var(--utrecht-blockquote-content-font-size, inherit);
470
+ color: var(--utrecht-blockquote-content-color, inherit);
471
+ font-size: var(--utrecht-blockquote-content-font-size, inherit);
472
+ --utrecht-space-around: 1;
473
+ }
474
+ .utrecht-html input[type=button i],
475
+ .utrecht-html input[type=reset i],
476
+ .utrecht-html input[type=submit i],
477
+ .utrecht-html button {
478
+ /*
479
+ `--_utrecht-button-hint` is the internal prefix for the applied optional hint, it is not an API.
480
+ The hint color takes priority over the appearance color.
481
+
482
+ `--_utrecht-button-appearance` is the internal prefix for the appearance
483
+ (primary-action, secondary-action or subtle), it is not an API.
484
+ */
485
+ --_utrecht-button-background-color: var(
486
+ --_utrecht-button-hint-background-color,
487
+ var(--_utrecht-button-appearance-background-color, var(--utrecht-button-background-color))
488
+ );
489
+ --_utrecht-button-color: var(
490
+ --_utrecht-button-hint-color,
491
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-color))
492
+ );
493
+ --_utrecht-button-border-color: var(
494
+ --_utrecht-button-hint-border-color,
495
+ var(--_utrecht-button-appearance-border-color, var(--utrecht-button-border-color, transparent))
496
+ );
497
+ --_utrecht-button-border-bottom-color: var(
498
+ --_utrecht-button-hint-border-bottom-color,
499
+ var(
500
+ --_utrecht-button-hint-border-color,
501
+ var(
502
+ --_utrecht-button-appearance-border-bottom-color,
503
+ var(
504
+ --_utrecht-button-appearance-border-color,
505
+ var(--utrecht-button-border-bottom-color, var(--utrecht-button-border-color, transparent))
506
+ )
507
+ )
508
+ )
509
+ );
510
+ --_utrecht-button-disabled-background-color: var(
511
+ --_utrecht-button-hint-disabled-background-color,
512
+ var(
513
+ --_utrecht-button-appearance-disabled-background-color,
514
+ var(--utrecht-button-disabled-background-color, var(--utrecht-button-background-color))
515
+ )
516
+ );
517
+ --_utrecht-button-disabled-border-color: var(
518
+ --_utrecht-button-hint-disabled-border-color,
519
+ var(
520
+ --_utrecht-button-appearance-disabled-border-color,
521
+ var(--utrecht-button-disabled-border-color, var(--utrecht-button-border-color))
522
+ )
523
+ );
524
+ --_utrecht-button-disabled-color: var(
525
+ --_utrecht-button-hint-disabled-color,
526
+ var(--_utrecht-button-appearance-disabled-color, var(--utrecht-button-disabled-color, var(--utrecht-button-color)))
527
+ );
528
+ --_utrecht-button-pressed-background-color: var(
529
+ --_utrecht-button-hint-pressed-background-color,
530
+ var(
531
+ --_utrecht-button-hint-background-color,
532
+ var(
533
+ --_utrecht-button-appearance-pressed-background-color,
534
+ var(
535
+ --_utrecht-button-appearance-background-color,
536
+ var(--utrecht-button-pressed-background-color, var(--utrecht-button-background-color))
537
+ )
538
+ )
539
+ )
540
+ );
541
+ --_utrecht-button-pressed-border-color: var(
542
+ --_utrecht-button-hint-pressed-border-color,
543
+ var(
544
+ --_utrecht-button-hint-border-color,
545
+ var(
546
+ --_utrecht-button-appearance-pressed-border-color,
547
+ var(
548
+ --_utrecht-button-appearance-border-color,
549
+ var(--utrecht-button-pressed-border-color, var(--utrecht-button-border-color))
550
+ )
551
+ )
552
+ )
553
+ );
554
+ --_utrecht-button-pressed-color: var(
555
+ --_utrecht-button-hint-pressed-color,
556
+ var(
557
+ --_utrecht-button-hint-color,
558
+ var(
559
+ --_utrecht-button-appearance-pressed-color,
560
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-pressed-color, var(--utrecht-button-color)))
561
+ )
562
+ )
563
+ );
564
+ --_utrecht-button-focus-background-color: var(
565
+ --_utrecht-button-hint-focus-background-color,
566
+ var(
567
+ --_utrecht-button-hint-background-color,
568
+ var(
569
+ --_utrecht-button-appearance-focus-background-color,
570
+ var(
571
+ --_utrecht-button-appearance-background-color,
572
+ var(--utrecht-button-focus-background-color, var(--utrecht-button-background-color))
573
+ )
574
+ )
575
+ )
576
+ );
577
+ --_utrecht-button-focus-border-color: var(
578
+ --_utrecht-button-hint-focus-border-color,
579
+ var(
580
+ --_utrecht-button-hint-border-color,
581
+ var(
582
+ --_utrecht-button-appearance-focus-border-color,
583
+ var(
584
+ --_utrecht-button-appearance-border-color,
585
+ var(--utrecht-button-focus-border-color, var(--utrecht-button-border-color))
586
+ )
587
+ )
588
+ )
589
+ );
590
+ --_utrecht-button-focus-color: var(
591
+ --_utrecht-button-hint-focus-color,
592
+ var(
593
+ --_utrecht-button-hint-color,
594
+ var(
595
+ --_utrecht-button-appearance-focus-color,
596
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-focus-color, var(--utrecht-button-color)))
597
+ )
598
+ )
599
+ );
600
+ --_utrecht-button-hover-background-color: var(
601
+ --_utrecht-button-hint-hover-background-color,
602
+ var(
603
+ --_utrecht-button-hint-background-color,
604
+ var(
605
+ --_utrecht-button-appearance-hover-background-color,
606
+ var(
607
+ --_utrecht-button-appearance-background-color,
608
+ var(--utrecht-button-hover-background-color, var(--utrecht-button-background-color))
609
+ )
610
+ )
611
+ )
612
+ );
613
+ --_utrecht-button-hover-border-color: var(
614
+ --_utrecht-button-hint-hover-border-color,
615
+ var(
616
+ --_utrecht-button-hint-border-color,
617
+ var(
618
+ --_utrecht-button-appearance-hover-border-color,
619
+ var(
620
+ --_utrecht-button-appearance-border-color,
621
+ var(--utrecht-button-hover-border-color, var(--utrecht-button-border-color))
622
+ )
623
+ )
624
+ )
625
+ );
626
+ --_utrecht-button-hover-color: var(
627
+ --_utrecht-button-hint-hover-color,
628
+ var(
629
+ --_utrecht-button-hint-color,
630
+ var(
631
+ --_utrecht-button-appearance-hover-color,
632
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-hover-color, var(--utrecht-button-color)))
633
+ )
634
+ )
635
+ );
636
+ --_utrecht-button-active-background-color: var(
637
+ --_utrecht-button-hint-active-background-color,
638
+ var(
639
+ --_utrecht-button-hint-background-color,
640
+ var(
641
+ --_utrecht-button-appearance-active-background-color,
642
+ var(
643
+ --_utrecht-button-appearance-background-color,
644
+ var(--utrecht-button-active-background-color, var(--utrecht-button-background-color))
645
+ )
646
+ )
647
+ )
648
+ );
649
+ --_utrecht-button-active-border-color: var(
650
+ --_utrecht-button-hint-active-border-color,
651
+ var(
652
+ --_utrecht-button-hint-border-color,
653
+ var(
654
+ --_utrecht-button-appearance-active-border-color,
655
+ var(
656
+ --_utrecht-button-appearance-border-color,
657
+ var(--utrecht-button-active-border-color, var(--utrecht-button-border-color))
658
+ )
659
+ )
660
+ )
661
+ );
662
+ --_utrecht-button-active-color: var(
663
+ --_utrecht-button-hint-active-color,
664
+ var(
665
+ --_utrecht-button-hint-color,
666
+ var(
667
+ --_utrecht-button-appearance-active-color,
668
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-active-color, var(--utrecht-button-color)))
669
+ )
670
+ )
671
+ );
672
+ --_utrecht-button-border-width: var(--_utrecht-button-appearance-border-width, var(--utrecht-button-border-width, 0));
673
+ --_utrecht-button-border-block-end-width: var(
674
+ --utrecht-button-border-bottom-width,
675
+ var(--_utrecht-button-border-width, 0)
676
+ );
677
+ --utrecht-icon-size: var(--utrecht-button-icon-size, 1em);
678
+ align-items: center;
679
+ background-color: var(--_utrecht-button-background-color);
680
+ border-block-end-color: var(--_utrecht-button-border-bottom-color);
681
+ border-block-end-width: var(--_utrecht-button-border-block-end-width);
682
+ border-color: var(--_utrecht-button-border-color);
683
+ border-radius: var(--utrecht-button-border-radius);
1089
684
  border-style: solid;
1090
- color: var(--utrecht-textarea-color, var(--form-input-textarea-color));
1091
- font-family: var(--utrecht-textarea-font-family, var(--utrecht-form-input-font-family));
1092
- font-size: var(--utrecht-textarea-font-size, var(--utrecht-form-input-font-size, 1em));
1093
- max-inline-size: var(--utrecht-textarea-max-inline-size, var(--utrecht-form-input-max-inline-size));
1094
- min-block-size: var(--utrecht-textarea-min-block-size);
1095
- padding-block-end: var(--utrecht-textarea-padding-block-end, var(--utrecht-form-input-padding-block-end));
1096
- padding-block-start: var(--utrecht-textarea-padding-block-start, var(--utrecht-form-input-padding-block-start));
1097
- padding-inline-end: var(--utrecht-textarea-padding-inline-end, var(--utrecht-form-input-padding-inline-end));
1098
- padding-inline-start: var(--utrecht-textarea-padding-inline-start, var(--utrecht-form-input-padding-inline-start));
1099
- resize: vertical;
1100
- width: 100%;
1101
- }
1102
-
1103
- .utrecht-textarea--invalid, .utrecht-textarea--html-textarea:invalid, .utrecht-html textarea:invalid, .utrecht-textarea--html-textarea[aria-invalid=true], .utrecht-html textarea[aria-invalid=true] {
1104
- background-color: var(--utrecht-textarea-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1105
- border-color: var(--utrecht-textarea-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1106
- border-width: var(--utrecht-textarea-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width))));
1107
- }
1108
-
1109
- .utrecht-textarea--disabled, .utrecht-textarea--html-textarea:disabled, .utrecht-html textarea:disabled {
1110
- background-color: var(--utrecht-textarea-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1111
- border-color: var(--utrecht-textarea-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1112
- color: var(--utrecht-textarea-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1113
- cursor: var(--utrecht-action-disabled-cursor);
685
+ border-width: var(--_utrecht-button-border-width);
686
+ box-sizing: border-box;
687
+ color: var(--_utrecht-button-color);
688
+ cursor: var(--utrecht-action-activate-cursor, revert);
689
+ display: inline-flex;
690
+ font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
691
+ font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family, inherit));
692
+ font-weight: var(--_utrecht-button-appearance-font-weight, var(--utrecht-button-font-weight));
693
+ gap: var(--utrecht-button-icon-gap);
694
+ inline-size: var(--utrecht-button-inline-size, auto);
695
+ justify-content: center;
696
+ line-height: var(--utrecht-button-line-height);
697
+ min-block-size: var(--utrecht-button-min-block-size, 44px);
698
+ min-inline-size: var(--utrecht-button-min-inline-size, 44px);
699
+ padding-block-end: var(--utrecht-button-padding-block-end);
700
+ padding-block-start: var(--utrecht-button-padding-block-start);
701
+ padding-inline-end: var(--utrecht-button-padding-inline-end);
702
+ padding-inline-start: var(--utrecht-button-padding-inline-start);
703
+ text-transform: var(--utrecht-button-text-transform);
704
+ -webkit-user-select: none;
705
+ user-select: none;
706
+ margin-block-end: var(--utrecht-button-margin-block-end);
707
+ margin-block-start: var(--utrecht-button-margin-block-start);
708
+ margin-inline-end: var(--utrecht-button-margin-inline-end);
709
+ margin-inline-start: var(--utrecht-button-margin-inline-start);
1114
710
  }
1115
-
1116
- .utrecht-textarea--focus, .utrecht-textarea--html-textarea:focus, .utrecht-html textarea:focus {
1117
- background-color: var(--utrecht-focus-background-color);
1118
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1119
- color: var(--utrecht-focus-color, inherit);
1120
- outline-color: var(--utrecht-focus-outline-color, transparent);
1121
- outline-offset: 0;
1122
- outline-style: var(--utrecht-focus-outline-style, solid);
1123
- outline-width: var(--utrecht-focus-outline-width, 0);
1124
- background-color: var(--utrecht-textarea-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1125
- border-color: var(--utrecht-textarea-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1126
- color: var(--utrecht-textarea-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
711
+ .utrecht-html button[hidden] {
712
+ display: none;
713
+ }
714
+ .utrecht-html button[type=submit i],
715
+ .utrecht-html input[type=submit i] {
716
+ cursor: var(--utrecht-action-submit-cursor, revert);
717
+ }
718
+ .utrecht-html button:disabled,
719
+ .utrecht-html button[aria-disabled=true] {
720
+ background-color: var(--_utrecht-button-disabled-background-color);
721
+ border-color: var(--_utrecht-button-disabled-border-color);
722
+ color: var(--_utrecht-button-disabled-color);
723
+ cursor: var(--utrecht-action-disabled-cursor, not-allowed);
724
+ }
725
+ .utrecht-html button[aria-busy=true],
726
+ .utrecht-html button[aria-disabled=true][aria-busy=true],
727
+ .utrecht-html button:disabled[aria-busy=true] {
728
+ cursor: var(--utrecht-action-busy-cursor, wait);
729
+ }
730
+ .utrecht-html button:active:not([aria-disabled=true], :disabled) {
731
+ background-color: var(--_utrecht-button-active-background-color);
732
+ border-color: var(--_utrecht-button-active-border-color);
733
+ color: var(--_utrecht-button-active-color);
734
+ }
735
+ .utrecht-html button:hover:not([aria-disabled=true], :disabled) {
736
+ background-color: var(--_utrecht-button-hover-background-color);
737
+ border-color: var(--_utrecht-button-hover-border-color);
738
+ color: var(--_utrecht-button-hover-color);
739
+ scale: var(--utrecht-button-hover-scale, 1);
740
+ }
741
+ .utrecht-html button:focus:not([aria-disabled=true], :disabled) {
742
+ background-color: var(--_utrecht-button-focus-background-color);
743
+ border-color: var(--_utrecht-button-focus-border-color);
744
+ color: var(--_utrecht-button-focus-color);
745
+ scale: var(--utrecht-button-focus-scale, 1);
746
+ }
747
+ .utrecht-html button:focus-visible {
748
+ /* the pseudo-class for `:focus-visible` is implemented via the mixin */
749
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
750
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
751
+ * can combine it with the focus ring box shadow.
752
+ */
753
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
754
+ var(--utrecht-focus-inverse-outline-color, transparent);
755
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
756
+ outline-color: var(--utrecht-focus-outline-color, revert);
757
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
758
+ outline-style: var(--utrecht-focus-outline-style, revert);
759
+ outline-width: var(--utrecht-focus-outline-width, revert);
760
+ }
761
+ .utrecht-html input[type=checkbox i] {
762
+ margin-block-end: 0; /* reset native margin for input[type="checkbox"] */
763
+ margin-block-start: 0;
764
+ margin-inline-end: 0;
765
+ margin-inline-start: 0;
766
+ cursor: var(--utrecht-action-activate-cursor, revert);
767
+ -webkit-user-select: none;
768
+ user-select: none;
1127
769
  }
1128
-
1129
- .utrecht-textarea--read-only, .utrecht-textarea--html-textarea:read-only, .utrecht-html textarea:read-only {
1130
- border-color: var(--utrecht-textarea-read-only-border, var(--utrecht-form-input-read-only-border-color, var(--utrecht-textarea-border, var(--utrecht-form-input-border-color))));
1131
- color: var(--utrecht-textarea-read-only-color, var(--utrecht-form-input-read-only-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
770
+ .utrecht-html input[type=checkbox i]:disabled {
771
+ cursor: var(--utrecht-action-disabled-cursor, revert);
772
+ }
773
+ .utrecht-html input[type=checkbox i]:focus {
774
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
775
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
776
+ * can combine it with the focus ring box shadow.
777
+ */
778
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
779
+ var(--utrecht-focus-inverse-outline-color, transparent);
780
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
781
+ outline-color: var(--utrecht-focus-outline-color, revert);
782
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
783
+ outline-style: var(--utrecht-focus-outline-style, revert);
784
+ outline-width: var(--utrecht-focus-outline-width, revert);
785
+ }
786
+ .utrecht-html input[type=checkbox i]:focus:not(:focus-visible) {
787
+ /* undo focus ring */
788
+ box-shadow: none;
789
+ outline-style: revert;
790
+ }
791
+ .utrecht-html body {
792
+ /* reset `font-smoothing: antialiasing`, prefer automatic (`subpixel-antialiasing`) behavior for high-dpi screens */
793
+ color: var(--utrecht-document-color, inherit);
794
+ font-family: var(--utrecht-document-font-family, inherit);
795
+ font-size: var(--utrecht-document-font-size, inherit);
796
+ font-weight: var(--utrecht-document-font-weight, inherit);
797
+ line-height: var(--utrecht-document-line-height, inherit);
798
+ text-rendering: optimizeLegibility;
799
+ -moz-text-size-adjust: none;
800
+ -webkit-text-size-adjust: none;
801
+ text-size-adjust: none;
802
+ background-color: var(--utrecht-document-background-color, inherit);
803
+ }
804
+ .utrecht-html body :lang(ar) {
805
+ /* `letter-spacing` design tokens break Arabic text rendering, avoid that */
806
+ letter-spacing: 0 !important;
807
+ }
808
+ .utrecht-html code {
809
+ /* Use `monospace` as fallback both when the custom property isn't set and when the font is not available */
810
+ background-color: var(--utrecht-code-background-color);
811
+ color: var(--utrecht-code-color);
812
+ font-family: var(--utrecht-code-font-family, monospace), monospace;
813
+ font-size: var(--utrecht-code-font-size);
814
+ font-variant-ligatures: none;
815
+ line-height: var(--utrecht-code-line-height);
816
+ }
817
+ .utrecht-html em {
818
+ font-style: var(--utrecht-emphasis-stressed-font-style, italic);
1132
819
  }
1133
-
1134
- .utrecht-textarea__placeholder, .utrecht-textarea--html-textarea::placeholder, .utrecht-html textarea::placeholder {
1135
- color: var(--utrecht-textarea-placeholder-color, var(--utrecht-form-input-placeholder-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1136
- opacity: 100%;
820
+ .utrecht-html strong {
821
+ font-weight: var(--utrecht-emphasis-strong-font-weight, bold);
1137
822
  }
1138
-
1139
- /**
1140
- * @license EUPL-1.2
1141
- * Copyright (c) 2021 Robbert Broersma
1142
- */
1143
- /**
1144
- * @license EUPL-1.2
1145
- * Copyright (c) 2021 Robbert Broersma
1146
- */
1147
- .utrecht-textbox, .utrecht-html input:not([type]),
1148
- .utrecht-html input[type=email],
1149
- .utrecht-html input[type=number],
1150
- .utrecht-html input[type=password],
1151
- .utrecht-html input[type=search],
1152
- .utrecht-html input[type=tel],
1153
- .utrecht-html input[type=text],
1154
- .utrecht-html input[type=url] {
1155
- background-color: var(--utrecht-textbox-background-color, var(--utrecht-form-input-background-color));
1156
- border-width: var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width));
1157
- border-bottom-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width)));
1158
- border-color: var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color));
1159
- border-radius: var(--utrecht-textbox-border-radius, var(--utrecht-form-input-border-radius, 0));
1160
- border-style: solid;
1161
- box-sizing: border-box;
1162
- color: var(--utrecht-textbox-color, var(--utrecht-form-input-color));
1163
- font-family: var(--utrecht-textbox-font-family, var(--utrecht-form-input-font-family));
1164
- font-size: var(--utrecht-textbox-font-size, var(--utrecht-form-input-font-size, 1em));
1165
- max-inline-size: var(--utrecht-textbox-max-inline-size, var(--utrecht-form-input-max-inline-size));
1166
- padding-block-end: var(--utrecht-textbox-padding-block-end, var(--utrecht-form-input-padding-block-end));
1167
- padding-block-start: var(--utrecht-textbox-padding-block-start, var(--utrecht-form-input-padding-block-start));
1168
- padding-inline-end: var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-input-padding-inline-end));
1169
- padding-inline-start: var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-input-padding-inline-start));
1170
- width: 100%;
823
+ .utrecht-html fieldset {
824
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-margin-block-end, 0));
825
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-margin-block-start, 0));
826
+ /* `all: revert` unfortunately has as side-effect that the `hidde` attribute has no effect */
827
+ all: revert;
828
+ border: 0;
829
+ margin-inline-end: 0;
830
+ margin-inline-start: 0;
831
+ min-inline-size: 0;
832
+ padding-block-end: 0;
833
+ padding-block-start: 0.01em;
834
+ padding-inline-end: 0;
835
+ padding-inline-start: 0;
836
+ --utrecht-space-around: 1;
1171
837
  }
1172
-
1173
- .utrecht-textbox--invalid, .utrecht-textbox--html-input:invalid, .utrecht-html input:invalid:not([type]),
1174
- .utrecht-html input[type=email]:invalid,
1175
- .utrecht-html input[type=number]:invalid,
1176
- .utrecht-html input[type=password]:invalid,
1177
- .utrecht-html input[type=search]:invalid,
1178
- .utrecht-html input[type=tel]:invalid,
1179
- .utrecht-html input[type=text]:invalid,
1180
- .utrecht-html input[type=url]:invalid, .utrecht-textbox--html-input[aria-invalid=true], .utrecht-html input[aria-invalid=true]:not([type]),
1181
- .utrecht-html input[aria-invalid=true][type=email],
1182
- .utrecht-html input[aria-invalid=true][type=number],
1183
- .utrecht-html input[aria-invalid=true][type=password],
1184
- .utrecht-html input[aria-invalid=true][type=search],
1185
- .utrecht-html input[aria-invalid=true][type=tel],
1186
- .utrecht-html input[aria-invalid=true][type=text],
1187
- .utrecht-html input[aria-invalid=true][type=url] {
1188
- background-color: var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-input-background-color))));
1189
- border-color: var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color))));
1190
- border-width: var(--utrecht-textbox-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width))));
838
+ .utrecht-html fieldset[hidden] {
839
+ display: none;
1191
840
  }
1192
-
1193
- .utrecht-textbox--disabled, .utrecht-textbox--html-input:disabled, .utrecht-html input:disabled:not([type]),
1194
- .utrecht-html input[type=email]:disabled,
1195
- .utrecht-html input[type=number]:disabled,
1196
- .utrecht-html input[type=password]:disabled,
1197
- .utrecht-html input[type=search]:disabled,
1198
- .utrecht-html input[type=tel]:disabled,
1199
- .utrecht-html input[type=text]:disabled,
1200
- .utrecht-html input[type=url]:disabled {
1201
- background-color: var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1202
- border-color: var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1203
- color: var(--utrecht-textbox-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1204
- cursor: var(--utrecht-action-disabled-cursor);
841
+ .utrecht-html figure {
842
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-figure-margin-block-end, 0));
843
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-figure-margin-block-start, 0));
1205
844
  }
1206
-
1207
- .utrecht-textbox--focus, .utrecht-textbox--html-input:focus, .utrecht-html input:focus:not([type]),
1208
- .utrecht-html input[type=email]:focus,
1209
- .utrecht-html input[type=number]:focus,
1210
- .utrecht-html input[type=password]:focus,
1211
- .utrecht-html input[type=search]:focus,
1212
- .utrecht-html input[type=tel]:focus,
1213
- .utrecht-html input[type=text]:focus,
1214
- .utrecht-html input[type=url]:focus {
1215
- background-color: var(--utrecht-focus-background-color);
1216
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1217
- color: var(--utrecht-focus-color, inherit);
1218
- outline-color: var(--utrecht-focus-outline-color, transparent);
1219
- outline-offset: 0;
1220
- outline-style: var(--utrecht-focus-outline-style, solid);
1221
- outline-width: var(--utrecht-focus-outline-width, 0);
1222
- background-color: var(--utrecht-textbox-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1223
- border-color: var(--utrecht-textbox-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1224
- color: var(--utrecht-textbox-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
845
+ .utrecht-html figcaption {
846
+ color: var(--utrecht-figure-caption-color);
847
+ font-size: var(--utrecht-figure-caption-font-size);
848
+ line-height: var(--utrecht-figure-caption-line-height);
1225
849
  }
1226
-
1227
- .utrecht-textbox--read-only, .utrecht-textbox--html-input:read-only, .utrecht-html input:read-only:not([type]),
1228
- .utrecht-html input[type=email]:read-only,
1229
- .utrecht-html input[type=number]:read-only,
1230
- .utrecht-html input[type=password]:read-only,
1231
- .utrecht-html input[type=search]:read-only,
1232
- .utrecht-html input[type=tel]:read-only,
1233
- .utrecht-html input[type=text]:read-only,
1234
- .utrecht-html input[type=url]:read-only {
1235
- border-color: var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-input-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color))));
1236
- color: var(--utrecht-textbox-read-only-color, var(--utrecht-form-input-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-input-color))));
850
+ .utrecht-html form {
851
+ display: block;
852
+ max-inline-size: var(--utrecht-form-max-inline-size);
1237
853
  }
1238
-
1239
- .utrecht-textbox__placeholder, .utrecht-textbox--html-input::placeholder, .utrecht-html input:not([type])::placeholder,
1240
- .utrecht-html input[type=email]::placeholder,
1241
- .utrecht-html input[type=number]::placeholder,
1242
- .utrecht-html input[type=password]::placeholder,
1243
- .utrecht-html input[type=search]::placeholder,
1244
- .utrecht-html input[type=tel]::placeholder,
1245
- .utrecht-html input[type=text]::placeholder,
1246
- .utrecht-html input[type=url]::placeholder {
1247
- color: var(--utrecht-textbox-placeholder-color, var(--utrecht-form-input-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-input-color))));
1248
- opacity: 100%;
854
+ .utrecht-html legend {
855
+ break-inside: avoid;
856
+ color: var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit));
857
+ font-family: var(--utrecht-form-fieldset-legend-font-family, var(--utrecht-document-font-family));
858
+ font-size: var(--utrecht-form-fieldset-legend-font-size);
859
+ font-weight: var(--utrecht-form-fieldset-legend-font-weight);
860
+ line-height: var(--utrecht-form-fieldset-legend-line-height);
861
+ page-break-after: avoid;
862
+ page-break-inside: avoid;
863
+ display: table;
864
+ inline-size: 100%;
865
+ padding-inline-end: 0;
866
+ padding-inline-start: 0;
867
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-legend-margin-block-end, 0));
868
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-legend-margin-block-start, 0));
1249
869
  }
1250
-
1251
- /**
1252
- * @license EUPL-1.2
1253
- * Copyright (c) 2021 Robbert Broersma
1254
- */
1255
- /**
1256
- * @license EUPL-1.2
1257
- * Copyright (c) 2021 Robbert Broersma
1258
- * Copyright (c) 2021 Gemeente Utrecht
1259
- */
1260
- .utrecht-unordered-list, .utrecht-html ul {
1261
- font-family: var(--utrecht-document-font-family, inherit);
1262
- font-size: var(--utrecht-document-font-size, inherit);
1263
- line-height: var(--utrecht-document-line-height, inherit);
1264
- margin-block-end: 0;
1265
- margin-block-start: 0;
1266
- padding-inline-start: var(--utrecht-unordered-list-padding-inline-start, 2ch);
870
+ .utrecht-html legend[hidden] {
871
+ display: none;
1267
872
  }
1268
-
1269
- .utrecht-unordered-list--distanced, .utrecht-html ul {
1270
- margin-block-end: var(--utrecht-unordered-list-margin-block-end, var(--utrecht-paragraph-margin-block-end));
1271
- margin-block-start: var(--utrecht-unordered-list-margin-block-start, var(--utrecht-paragraph-margin-block-start));
873
+ .utrecht-html fieldset:disabled > legend {
874
+ color: var(--utrecht-form-fieldset-legend-disabled-color, var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit)));
1272
875
  }
1273
-
1274
- .utrecht-unordered-list--nested {
1275
- margin-block-end: 0;
1276
- margin-inline-start: 2ch;
876
+ .utrecht-html label {
877
+ color: var(--utrecht-form-label-color);
878
+ font-size: var(--utrecht-form-label-font-size);
879
+ font-weight: var(--utrecht-form-label-font-weight);
1277
880
  }
1278
-
1279
- .utrecht-unordered-list__item, .utrecht-html ul > li {
1280
- margin-block-end: var(--utrecht-unordered-list-item-margin-block-end);
1281
- margin-block-start: var(--utrecht-unordered-list-item-margin-block-start);
1282
- padding-inline-start: var(--utrecht-unordered-list-item-padding-inline-start, 1ch);
881
+ .utrecht-html input[type=checkbox i] ~ label {
882
+ color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
883
+ cursor: var(--utrecht-action-activate-cursor, revert);
884
+ font-weight: var(--utrecht-form-label-checkbox-font-weight, var(--utrecht-form-label-font-weight));
1283
885
  }
1284
-
1285
- .utrecht-unordered-list__item::marker, .utrecht-html ul > li::marker,
1286
- .utrecht-unordered-list__marker {
1287
- color: var(--utrecht-unordered-list-marker-color);
1288
- content: "●";
886
+ .utrecht-html input[type=radio i] ~ label {
887
+ color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
888
+ cursor: var(--utrecht-action-activate-cursor, revert);
889
+ font-weight: var(--utrecht-form-label-radio-font-weight, var(--utrecht-form-label-font-weight));
1289
890
  }
1290
-
1291
- /**
1292
- * @license EUPL-1.2
1293
- * Copyright (c) 2021 Robbert Broersma
1294
- */
1295
- /**
1296
- * @license EUPL-1.2
1297
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
1298
- * Copyright (c) 2021 Gemeente Utrecht
1299
- */
1300
- .utrecht-link, .utrecht-html a:link {
1301
- color: var(--utrecht-link-color, blue);
1302
- text-decoration: var(--utrecht-link-text-decoration, underline);
891
+ .utrecht-html mark {
892
+ background-color: var(--utrecht-mark-background-color, revert);
893
+ color: var(--utrecht-mark-color, revert);
894
+ }
895
+ @media print {
896
+ .utrecht-html mark {
897
+ outline-color: currentColor;
898
+ outline-style: dotted;
899
+ outline-width: 0.1em;
900
+ }
901
+ }
902
+ @media screen and (-ms-high-contrast: active) {
903
+ .utrecht-html mark {
904
+ background-color: Highlight;
905
+ color: HighlightText;
906
+ }
907
+ }
908
+ .utrecht-html h1 {
909
+ break-inside: avoid-column;
910
+ page-break-after: avoid;
911
+ page-break-inside: avoid;
912
+ color: var(--utrecht-heading-1-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
913
+ font-family: var(--utrecht-heading-1-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
914
+ font-size: var(--utrecht-heading-1-font-size, revert);
915
+ font-weight: var(--utrecht-heading-1-font-weight, var(--utrecht-heading-font-weight, bold));
916
+ line-height: var(--utrecht-heading-1-line-height);
917
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-1-margin-block-end, 0));
918
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-1-margin-block-start, 0));
919
+ page-break-after: avoid;
920
+ --utrecht-space-around: 1;
921
+ }
922
+ .utrecht-html h2 {
923
+ break-inside: avoid-column;
924
+ page-break-after: avoid;
925
+ page-break-inside: avoid;
926
+ color: var(--utrecht-heading-2-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
927
+ font-family: var(--utrecht-heading-2-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
928
+ font-size: var(--utrecht-heading-2-font-size, revert);
929
+ font-weight: var(--utrecht-heading-2-font-weight, var(--utrecht-heading-font-weight, bold));
930
+ line-height: var(--utrecht-heading-2-line-height);
931
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-2-margin-block-end, 0));
932
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-2-margin-block-start, 0));
933
+ page-break-after: avoid;
934
+ --utrecht-space-around: 1;
935
+ }
936
+ .utrecht-html h3 {
937
+ break-inside: avoid-column;
938
+ page-break-after: avoid;
939
+ page-break-inside: avoid;
940
+ color: var(--utrecht-heading-3-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
941
+ font-family: var(--utrecht-heading-3-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
942
+ font-size: var(--utrecht-heading-3-font-size, revert);
943
+ font-weight: var(--utrecht-heading-3-font-weight, var(--utrecht-heading-font-weight, bold));
944
+ line-height: var(--utrecht-heading-3-line-height);
945
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-3-margin-block-end, 0));
946
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-3-margin-block-start, 0));
947
+ page-break-after: avoid;
948
+ --utrecht-space-around: 1;
949
+ }
950
+ .utrecht-html h4 {
951
+ break-inside: avoid-column;
952
+ page-break-after: avoid;
953
+ page-break-inside: avoid;
954
+ color: var(--utrecht-heading-4-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
955
+ font-family: var(--utrecht-heading-4-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
956
+ font-size: var(--utrecht-heading-4-font-size, revert);
957
+ font-weight: var(--utrecht-heading-4-font-weight, var(--utrecht-heading-font-weight, bold));
958
+ line-height: var(--utrecht-heading-4-line-height);
959
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-4-margin-block-end, 0));
960
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-4-margin-block-start, 0));
961
+ page-break-after: avoid;
962
+ --utrecht-space-around: 1;
963
+ }
964
+ .utrecht-html h5 {
965
+ break-inside: avoid-column;
966
+ page-break-after: avoid;
967
+ page-break-inside: avoid;
968
+ color: var(--utrecht-heading-5-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
969
+ font-family: var(--utrecht-heading-5-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
970
+ font-size: var(--utrecht-heading-5-font-size, revert);
971
+ font-weight: var(--utrecht-heading-5-font-weight, var(--utrecht-heading-font-weight, bold));
972
+ line-height: var(--utrecht-heading-5-line-height);
973
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-5-margin-block-end, 0));
974
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-5-margin-block-start, 0));
975
+ page-break-after: avoid;
976
+ --utrecht-space-around: 1;
977
+ }
978
+ .utrecht-html h6 {
979
+ break-inside: avoid-column;
980
+ page-break-after: avoid;
981
+ page-break-inside: avoid;
982
+ color: var(--utrecht-heading-6-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
983
+ font-family: var(--utrecht-heading-6-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
984
+ font-size: var(--utrecht-heading-6-font-size, revert);
985
+ font-weight: var(--utrecht-heading-6-font-weight, var(--utrecht-heading-font-weight, bold));
986
+ line-height: var(--utrecht-heading-6-line-height);
987
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-6-margin-block-end, 0));
988
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-6-margin-block-start, 0));
989
+ page-break-after: avoid;
990
+ --utrecht-space-around: 1;
991
+ }
992
+ .utrecht-html hgroup {
993
+ --utrecht-pre-heading-order: -1;
994
+ display: flex;
995
+ flex-direction: column;
996
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-group-margin-block-end, 0));
997
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-group-margin-block-start, 0));
998
+ --utrecht-space-around: 1;
999
+ }
1000
+ .utrecht-html hgroup > * {
1001
+ --utrecht-space-around: 0;
1002
+ }
1003
+ .utrecht-html a {
1004
+ --utrecht-icon-size: var(--utrecht-link-icon-size, 1em);
1005
+ color: var(--_utrecht-link-state-color, var(--utrecht-link-color, var(--_utrecht-link-forced-colors-color)));
1303
1006
  }
1304
-
1305
- .utrecht-link:visited,
1306
- .utrecht-link--visited,
1307
1007
  .utrecht-html a:visited {
1308
- color: var(--utrecht-link-visited-color, var(--utrecht-link-color));
1008
+ --_utrecht-link-forced-colors-color: visitedtext;
1009
+ --_utrecht-link-state-color: var(--utrecht-link-visited-color);
1309
1010
  }
1310
-
1311
- .utrecht-link:hover,
1312
- .utrecht-link--hover,
1313
1011
  .utrecht-html a:hover {
1314
- color: var(--utrecht-link-hover-color, var(--utrecht-link-color));
1315
- text-decoration: var(--utrecht-link-hover-text-decoration, var(--utrecht-link-text-decoration, underline));
1012
+ --_utrecht-link-forced-colors-color: linktext;
1013
+ --_utrecht-link-state-color: var(--utrecht-link-hover-color);
1014
+ --_utrecht-link-state-text-decoration: var(--utrecht-link-hover-text-decoration);
1015
+ --_utrecht-link-state-text-decoration-thickness: var(--utrecht-link-hover-text-decoration-thickness);
1016
+ text-decoration-skip: none;
1017
+ text-decoration-skip-ink: none;
1316
1018
  }
1317
-
1318
- .utrecht-link:active,
1319
- .utrecht-link--active,
1320
1019
  .utrecht-html a:active {
1321
- color: var(--utrecht-link-active-color, var(--utrecht-link-color));
1020
+ --_utrecht-link-forced-colors-color: activetext;
1021
+ --_utrecht-link-state-color: var(--utrecht-link-active-color);
1322
1022
  }
1323
-
1324
- .utrecht-link:focus,
1325
- .utrecht-link--focus,
1326
1023
  .utrecht-html a:focus {
1327
- background-color: var(--utrecht-focus-background-color);
1328
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1329
- color: var(--utrecht-focus-color, inherit);
1330
- outline-color: var(--utrecht-focus-outline-color, transparent);
1331
- outline-offset: 0;
1332
- outline-style: var(--utrecht-focus-outline-style, solid);
1333
- outline-width: var(--utrecht-focus-outline-width, 0);
1334
- color: var(--utrecht-link-focus-color, var(--utrecht-link-color));
1335
- text-decoration: var(--utrecht-link-focus-text-decoration, var(--utrecht-link-text-decoration, underline));
1336
- }
1337
-
1338
- /* stylelint-disable-next-line block-no-empty */
1339
- .utrecht-link--telephone, .utrecht-html a[href^="tel:" i] {
1024
+ --_utrecht-link-state-color: var(--utrecht-link-focus-color);
1025
+ --_utrecht-link-state-text-decoration: var(--utrecht-link-focus-text-decoration);
1026
+ --_utrecht-link-state-text-decoration-thickness: var(--utrecht-link-focus-text-decoration-thickness);
1027
+ background-color: var(--utrecht-link-focus-background-color, transparent);
1028
+ text-decoration-skip: none;
1029
+ text-decoration-skip-ink: none;
1030
+ /*
1031
+ * WCAG SC 2.4.12: Focus Not Obscured
1032
+ * Use `z-index` to ensure the focus ring is stacked above adjecent elements with a `background`
1033
+ */
1034
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
1035
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
1036
+ * can combine it with the focus ring box shadow.
1037
+ */
1038
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
1039
+ var(--utrecht-focus-inverse-outline-color, transparent);
1040
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
1041
+ outline-color: var(--utrecht-focus-outline-color, revert);
1042
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
1043
+ outline-style: var(--utrecht-focus-outline-style, revert);
1044
+ outline-width: var(--utrecht-focus-outline-width, revert);
1045
+ z-index: var(--utrecht-stack-focus-z-index, 1);
1046
+ }
1047
+ .utrecht-html a:focus:not(:focus-visible) {
1048
+ /* undo focus ring */
1049
+ box-shadow: none;
1050
+ outline-style: revert;
1051
+ }
1052
+ .utrecht-html a[href^="tel:" i] {
1340
1053
  white-space: nowrap;
1341
1054
  }
1342
-
1343
- /**
1344
- * @license EUPL-1.2
1345
- * Copyright (c) 2021 Robbert Broersma
1346
- */
1347
- /**
1348
- * @license EUPL-1.2
1349
- * Copyright (c) 2021 Robbert Broersma
1350
- * Copyright (c) 2021 Gemeente Utrecht
1351
- */
1352
- .utrecht-ordered-list, .utrecht-html ol {
1055
+ .utrecht-html ol {
1056
+ /* Configure `box-sizing` and `text-align` for `--center` */
1057
+ box-sizing: border-box;
1353
1058
  font-family: var(--utrecht-document-font-family, inherit);
1354
- margin-block-end: 0;
1355
- margin-block-start: 0;
1059
+ font-size: var(--utrecht-ordered-list-font-size, var(--utrecht-unordered-list-font-size, var(--utrecht-document-font-size, inherit)));
1060
+ line-height: var(--utrecht-ordered-list-font-size, var(--utrecht-unordered-list-line-height, var(--utrecht-document-line-height, inherit)));
1061
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-ordered-list-margin-block-end, var(--utrecht-unordered-list-margin-block-end, 0)));
1062
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-ordered-list-margin-block-start, var(--utrecht-unordered-list-margin-block-start, 0)));
1356
1063
  padding-inline-start: var(--utrecht-ordered-list-padding-inline-start, var(--utrecht-unordered-list-padding-inline-start, 2ch));
1064
+ text-align: start;
1065
+ --utrecht-space-around: 1;
1357
1066
  }
1358
-
1359
- .utrecht-ordered-list--distanced, .utrecht-html ol {
1360
- margin-block-end: var(--utrecht-ordered-list-margin-block-end, var(--utrecht-unordered-list-margin-block-end));
1361
- margin-block-start: var(--utrecht-ordered-list-margin-block-start, var(--utrecht-unordered-list-margin-block-start));
1362
- }
1363
-
1364
- .utrecht-ordered-list__item, .utrecht-html ol > li {
1067
+ .utrecht-html ol > li {
1365
1068
  margin-block-end: var(--utrecht-ordered-list-item-margin-block-end, var(--utrecht-unordered-list-item-margin-block-end));
1366
1069
  margin-block-start: var(--utrecht-ordered-list-item-margin-block-start, var(--utrecht-unordered-list-item-margin-block-start));
1367
1070
  padding-inline-start: var(--utrecht-ordered-list-item-padding-inline-start, var(--utrecht-unordered-list-item-padding-inline-start, 1ch));
1368
1071
  }
1369
-
1370
- /**
1371
- * @license EUPL-1.2
1372
- * Copyright (c) 2021 Robbert Broersma
1373
- */
1374
- /**
1375
- * @license EUPL-1.2
1376
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
1377
- */
1378
- .utrecht-paragraph, .utrecht-html p {
1379
- color: var(--utrecht-document-color, inherit);
1072
+ .utrecht-html ol:lang(ar) {
1073
+ list-style: arabic-indic;
1074
+ }
1075
+ .utrecht-html p {
1076
+ color: var(--utrecht-paragraph-color, var(--utrecht-document-color, inherit));
1380
1077
  font-family: var(--utrecht-paragraph-font-family, var(--utrecht-document-font-family, inherit));
1381
1078
  font-size: var(--utrecht-paragraph-font-size, var(--utrecht-document-font-size, inherit));
1382
1079
  font-weight: var(--utrecht-paragraph-font-weight, inherit);
1383
1080
  line-height: var(--utrecht-paragraph-line-height, var(--utrecht-document-line-height, inherit));
1081
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-paragraph-margin-block-end, 0));
1082
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-paragraph-margin-block-start, 0));
1083
+ }
1084
+ .utrecht-html p.lead {
1085
+ color: var(--utrecht-paragraph-lead-color, var(--utrecht-paragraph-color, var(--utrecht-document-color, inherit)));
1086
+ font-size: var(--utrecht-paragraph-lead-font-size, var(--utrecht-paragraph-font-size, inherit));
1087
+ font-weight: var(--utrecht-paragraph-lead-font-weight, var(--utrecht-paragraph-font-weight, inherit));
1088
+ line-height: var(--utrecht-paragraph-lead-line-height, var(--utrecht-paragraph-line-height, inherit));
1089
+ }
1090
+ .utrecht-html * ~ p {
1091
+ --utrecht-space-around: 1;
1092
+ }
1093
+ .utrecht-html p:has(> small:only-child) {
1094
+ color: var(--utrecht-paragraph-small-color, var(--utrecht-paragraph-color, var(--utrecht-document-color, inherit)));
1095
+ font-size: var(--utrecht-paragraph-small-font-size, var(--utrecht-paragraph-font-size, inherit));
1096
+ font-weight: var(--utrecht-paragraph-small-font-weight, var(--utrecht-paragraph-font-weight, inherit));
1097
+ line-height: var(--utrecht-paragraph-small-line-height, var(--utrecht-paragraph-line-height, inherit));
1098
+ }
1099
+ .utrecht-html p > small:only-child {
1100
+ font-size: inherit;
1101
+ }
1102
+ .utrecht-html pre:has(> code:only-child) {
1103
+ /* Use `monospace` as fallback both when the custom property isn't set and when the font is not available */
1104
+ background-color: var(--utrecht-code-background-color);
1105
+ color: var(--utrecht-code-color);
1106
+ font-family: var(--utrecht-code-font-family, monospace), monospace;
1107
+ font-size: var(--utrecht-code-font-size);
1108
+ font-variant-ligatures: none;
1109
+ line-height: var(--utrecht-code-line-height);
1110
+ --utrecht-code-color: var(--utrecht-code-block-color, inherit);
1111
+ --utrecht-code-background-color: var(--utrecht-code-block-background-color, inherit);
1112
+ --utrecht-code-font-weight: var(--utrecht-code-block-font-weight, inherit);
1113
+ --utrecht-code-font-size: var(--utrecht-code-block-font-size, inherit);
1114
+ --utrecht-code-font-family: var(--utrecht-code-block-font-family, monospace);
1115
+ background-color: var(--utrecht-code-block-background-color);
1116
+ display: block;
1117
+ font-size: var(--utrecht-code-block-font-size, var(--utrecht-code-font-size));
1118
+ line-height: var(--utrecht-code-block-line-height, var(--utrecht-code-line-height));
1119
+ margin-block-end: var(--utrecht-code-block-margin-block-end);
1120
+ margin-block-start: var(--utrecht-code-block-margin-block-start);
1121
+ margin-inline-end: var(--utrecht-code-block-margin-inline-end);
1122
+ margin-inline-start: var(--utrecht-code-block-margin-inline-start);
1123
+ padding-block-end: var(--utrecht-code-block-padding-block-end);
1124
+ padding-block-start: var(--utrecht-code-block-padding-block-start);
1125
+ padding-inline-end: var(--utrecht-code-block-padding-inline-end);
1126
+ padding-inline-start: var(--utrecht-code-block-padding-inline-start);
1127
+ white-space: pre;
1128
+ }
1129
+ .utrecht-html pre[hidden]:has(> code:only-child) {
1130
+ display: none;
1131
+ }
1132
+ .utrecht-html pre:has(> code:only-child) > code {
1133
+ display: contents;
1134
+ }
1135
+ .utrecht-html input[type=radio i] {
1136
+ /*
1137
+ * Use 24x24px as hardcoded minimum target size, to meet WCAG 2.5.8 standards.
1138
+ * https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html
1139
+ */
1140
+ /*
1141
+ * For the `radial-gradient()` use a 5% gradient size to improve anti-aliasing.
1142
+ * With a 0% gradient, the circle will have jagged edges.
1143
+ */
1144
+ -webkit-appearance: none;
1145
+ -moz-appearance: none;
1146
+ appearance: none;
1384
1147
  margin-block-end: 0;
1385
1148
  margin-block-start: 0;
1386
- }
1387
-
1388
- .utrecht-paragraph--lead, .utrecht-html p.lead {
1389
- color: var(--utrecht-paragraph-lead-color, var(--utrecht-document-color, inherit));
1390
- font-size: var(--utrecht-paragraph-lead-font-size, inherit);
1391
- font-weight: var(--utrecht-paragraph-lead-font-weight, inherit);
1392
- line-height: var(--utrecht-paragraph-lead-line-height, inherit);
1393
- }
1394
-
1395
- .utrecht-paragraph--distanced, .utrecht-html * ~ p {
1396
- margin-block-end: var(--utrecht-paragraph-margin-block-end);
1397
- margin-block-start: var(--utrecht-paragraph-margin-block-start);
1398
- }
1399
-
1400
- /* stylelint-disable selector-class-pattern */
1401
- /**
1402
- * @license EUPL-1.2
1403
- * Copyright (c) 2021 Gemeente Utrecht
1404
- */
1405
- /**
1406
- * @license EUPL-1.2
1407
- * Copyright (c) 2021 Gemeente Utrecht
1408
- */
1409
- .utrecht-radio-button, .utrecht-html input[type=radio] {
1410
- margin-block-end: 0;
1411
- /* reset native margin for input[type="radio"] */
1412
- margin-block-start: 0;
1413
1149
  margin-inline-end: 0;
1414
1150
  margin-inline-start: 0;
1415
- }
1416
-
1417
- /* stylelint-disable-next-line block-no-empty */
1418
- .utrecht-radio-button--disabled {
1419
- cursor: var(--utrecht-action-disabled-cursor);
1420
- }
1421
-
1422
- /**
1423
- * @license EUPL-1.2
1424
- * Copyright (c) 2021 Robbert Broersma
1425
- */
1426
- /**
1427
- * @license EUPL-1.2
1428
- * Copyright (c) 2021 Robbert Broersma
1429
- */
1430
- .utrecht-select, .utrecht-html select {
1431
- -moz-appearance: none;
1432
- -webkit-appearance: none;
1433
- appearance: none;
1434
- background-color: var(--utrecht-select-background-color, var(--utrecht-form-input-background-color));
1435
- background-image: var(--utrecht-select-background-image);
1436
- background-position: 100%;
1151
+ --_utrecht-radio-button-background-color: var(
1152
+ --_utrecht-radio-button-interactive-background-color,
1153
+ var(--_utrecht-radio-button-state-background-color, var(--utrecht-radio-button-background-color))
1154
+ );
1155
+ --_utrecht-radio-button-border-color: var(
1156
+ --_utrecht-radio-button-interactive-border-color,
1157
+ var(--_utrecht-radio-button-state-border-color, var(--utrecht-radio-button-border-color, currentColor))
1158
+ );
1159
+ --_utrecht-radio-button-border-width: var(
1160
+ --_utrecht-radio-button-interactive-border-width,
1161
+ var(--_utrecht-radio-button-state-border-width, var(--utrecht-radio-button-border-width))
1162
+ );
1163
+ --_utrecht-radio-button-color: var(
1164
+ --_utrecht-radio-button-interactive-color,
1165
+ var(--_utrecht-radio-button-state-color, var(--utrecht-radio-button-color, currentColor))
1166
+ );
1167
+ --_utrecht-radio-button-icon-size: 0;
1168
+ background-color: var(--_utrecht-radio-button-background-color);
1169
+ background-image: radial-gradient(circle, var(--_utrecht-radio-button-color, transparent) calc(var(--_utrecht-radio-button-icon-size, 50%) - 5%), var(--_utrecht-radio-button-background-color, currentColor) var(--_utrecht-radio-button-icon-size, 50%));
1170
+ background-position: center;
1437
1171
  background-repeat: no-repeat;
1438
- background-size: 1.4em;
1439
- border-block-end-width: var(--utrecht-select-border-block-end-width, var(--utrecht-select-border-width, var(--utrecht-form-input-border-width)));
1440
- border-block-start-width: var(--utrecht-select-border-width, var(--utrecht-form-input-border-width));
1441
- border-color: var(--utrecht-select-border-color, var(--utrecht-form-input-border-color));
1442
- border-inline-end-width: var(--utrecht-select-border-width, var(--utrecht-form-input-border-width));
1443
- border-inline-start-width: var(--utrecht-select-border-width, var(--utrecht-form-input-border-width));
1444
- border-radius: var(--utrecht-select-border-radius, var(--utrecht-form-input-border-radius, 0));
1172
+ background-size: contain;
1173
+ block-size: var(--utrecht-radio-button-size, 1em);
1174
+ border-color: var(--_utrecht-radio-button-border-color);
1175
+ border-radius: 50%;
1445
1176
  border-style: solid;
1446
- color: var(--utrecht-select-color, var(--utrecht-form-input-color));
1447
- font-family: var(--utrecht-select-font-family, var(--utrecht-form-input-font-family));
1448
- font-size: var(--utrecht-select-font-size, var(--utrecht-form-input-font-size));
1449
- max-inline-size: var(--utrecht-select-max-inline-size, var(--utrecht-form-input-max-inline-size));
1450
- padding-block-end: var(--utrecht-select-padding-block-end, var(--utrecht-form-input-padding-block-end));
1451
- padding-block-start: var(--utrecht-select-padding-block-start, var(--utrecht-form-input-padding-block-start));
1452
- padding-inline-end: var(--utrecht-select-padding-inline-end, var(--utrecht-form-input-padding-inline-end));
1453
- padding-inline-start: var(--utrecht-select-padding-inline-start, var(--utrecht-form-input-padding-inline-start));
1454
- width: 100%;
1455
- }
1456
-
1457
- .utrecht-select--disabled, .utrecht-select--html-select:disabled, .utrecht-html select:disabled {
1458
- background-color: var(--utrecht-select-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-select-background-color, var(--utrecht-form-input-background-color))));
1459
- border-color: var(--utrecht-select-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-select-border-color, var(--utrecht-form-input-border-color))));
1460
- color: var(--utrecht-select-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-select-color, var(--utrecht-form-input-color))));
1461
- cursor: var(--utrecht-action-disabled-cursor);
1462
- }
1463
-
1464
- .utrecht-select--focus, .utrecht-select--html-select:focus, .utrecht-html select:focus {
1465
- background-color: var(--utrecht-focus-background-color);
1466
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1467
- color: var(--utrecht-focus-color, inherit);
1468
- outline-color: var(--utrecht-focus-outline-color, transparent);
1469
- outline-offset: 0;
1470
- outline-style: var(--utrecht-focus-outline-style, solid);
1471
- outline-width: var(--utrecht-focus-outline-width, 0);
1472
- background-color: var(--utrecht-select-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-select-background-color, var(--utrecht-form-input-background-color))));
1473
- border-color: var(--utrecht-select-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-select-border-color, var(--utrecht-form-input-border-color))));
1474
- color: var(--utrecht-select-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-select-color, var(--utrecht-form-input-color))));
1475
- }
1476
-
1477
- .utrecht-select--invalid, .utrecht-select--html-select:invalid, .utrecht-html select:invalid, .utrecht-select--html-select[aria-invalid=true], .utrecht-html select[aria-invalid=true] {
1478
- background-color: var(--utrecht-select-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-select-background-color, var(--utrecht-form-input-background-color))));
1479
- border-color: var(--utrecht-select-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-select-border-color, var(--utrecht-form-input-border-color))));
1480
- border-width: var(--utrecht-select-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-select-border-width, var(--utrecht-form-input-border-width))));
1481
- }
1482
-
1483
- /* stylelint-disable-next-line block-no-empty */
1484
- .utrecht-select--html-select, .utrecht-html select {
1485
- /* <select> does not support :read-only */
1486
- }
1487
- /**
1488
- * @license EUPL-1.2
1489
- * Copyright (c) 2021 Robbert Broersma
1490
- */
1491
- /**
1492
- * @license EUPL-1.2
1493
- * Copyright (c) 2021 Gemeente Utrecht
1494
- * Copyright (c) 2021 Robbert Broersma
1495
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
1496
- */
1497
- .utrecht-separator, .utrecht-html hr {
1177
+ border-width: var(--_utrecht-radio-button-border-width);
1178
+ cursor: var(--utrecht-action-activate-cursor, revert);
1179
+ inline-size: var(--utrecht-radio-button-size, 1em);
1180
+ margin-inline-end: var(--utrecht-radio-button-margin-inline-end);
1181
+ min-block-size: 24px;
1182
+ min-inline-size: 24px;
1183
+ -webkit-print-color-adjust: exact;
1184
+ print-color-adjust: exact;
1185
+ -webkit-user-select: none;
1186
+ user-select: none;
1187
+ vertical-align: top;
1188
+ /* override the `:focus` selector above */
1189
+ /* stylelint-disable-next-line no-descending-specificity */
1190
+ }
1191
+ .utrecht-html input[type=radio i]:checked {
1192
+ --_utrecht-radio-button-icon-size: var(--utrecht-radio-button-icon-size, 50%);
1193
+ --_utrecht-radio-button-state-background-color: var(--utrecht-radio-button-checked-background-color);
1194
+ --_utrecht-radio-button-state-border-color: var(--utrecht-radio-button-checked-border-color);
1195
+ --_utrecht-radio-button-state-border-width: var(--utrecht-radio-button-checked-border-width);
1196
+ --_utrecht-radio-button-state-color: var(--utrecht-radio-button-checked-color);
1197
+ --_utrecht-radio-button-state-active-background-color: var(--utrecht-radio-button-checked-active-background-color);
1198
+ --_utrecht-radio-button-state-active-border-color: var(--utrecht-radio-button-checked-active-border-color);
1199
+ --_utrecht-radio-button-state-active-border-width: var(--utrecht-radio-button-checked-active-border-width);
1200
+ --_utrecht-radio-button-state-active-color: var(--utrecht-radio-button-checked-active-color);
1201
+ --_utrecht-radio-button-state-focus-background-color: var(--utrecht-radio-button-checked-focus-background-color);
1202
+ --_utrecht-radio-button-state-focus-border-color: var(--utrecht-radio-button-checked-focus-border-color);
1203
+ --_utrecht-radio-button-state-focus-border-width: var(--utrecht-radio-button-checked-focus-border-width);
1204
+ --_utrecht-radio-button-state-focus-color: var(--utrecht-radio-button-checked-focus-color);
1205
+ --_utrecht-radio-button-state-hover-background-color: var(--utrecht-radio-button-checked-hover-background-color);
1206
+ --_utrecht-radio-button-state-hover-border-color: var(--utrecht-radio-button-checked-hover-border-color);
1207
+ --_utrecht-radio-button-state-hover-border-width: var(--utrecht-radio-button-checked-hover-border-width);
1208
+ --_utrecht-radio-button-state-hover-color: var(--utrecht-radio-button-checked-hover-color);
1209
+ }
1210
+ .utrecht-html input[type=radio i]:disabled {
1211
+ /*
1212
+ * The disabled radio button should have:
1213
+ * - should have no active effect
1214
+ * - should have no focus effect
1215
+ * - should have no hover effect
1216
+ * - should have a working focus-visible effect, in case someone sets `<input type="radio" disabled tabindex="0">`
1217
+ */
1218
+ --_utrecht-radio-button-background-color: var(--utrecht-radio-button-disabled-background-color);
1219
+ --_utrecht-radio-button-border-color: var(--utrecht-radio-button-disabled-border-color);
1220
+ --_utrecht-radio-button-border-width: var(--utrecht-radio-button-disabled-border-width);
1221
+ --_utrecht-radio-button-color: var(--utrecht-radio-button-disabled-color);
1222
+ /* no focus effect */
1223
+ --_utrecht-radio-button-focus-background-color: var(--_utrecht-radio-button-background-color);
1224
+ --_utrecht-radio-button-focus-border-color: var(--_utrecht-radio-button-border-color);
1225
+ --_utrecht-radio-button-focus-border-width: var(--_utrecht-radio-button-border-width);
1226
+ --_utrecht-radio-button-focus-color: var(--_utrecht-radio-button-color);
1227
+ /* no active effect */
1228
+ --_utrecht-radio-button-active-background-color: var(--_utrecht-radio-button-background-color);
1229
+ --_utrecht-radio-button-active-border-color: var(--_utrecht-radio-button-border-color);
1230
+ --_utrecht-radio-button-active-border-width: var(--_utrecht-radio-button-border-width);
1231
+ --_utrecht-radio-button-active-color: var(--_utrecht-radio-button-color);
1232
+ /* no hover effect */
1233
+ --_utrecht-radio-button-hover-background-color: var(--_utrecht-radio-button-background-color);
1234
+ --_utrecht-radio-button-hover-border-color: var(--_utrecht-radio-button-border-color);
1235
+ --_utrecht-radio-button-hover-border-width: var(--_utrecht-radio-button-border-width);
1236
+ --_utrecht-radio-button-hover-color: var(--_utrecht-radio-button-color);
1237
+ cursor: var(--utrecht-action-disabled-cursor, not-allowed);
1238
+ }
1239
+ .utrecht-html input[type=radio i]:invalid, .utrecht-html input[type=radio i][aria-invalid=true] {
1240
+ border-color: var(--utrecht-radio-button-invalid-border-color, var(--utrecht-radio-button-border-color));
1241
+ border-width: var(--utrecht-radio-button-invalid-border-width, var(--utrecht-radio-button-border-width));
1242
+ color: var(--utrecht-radio-button-invalid-color, var(--utrecht-radio-button-color));
1243
+ }
1244
+ .utrecht-html input[type=radio i]:focus:not([aria-disabled=true], :disabled) {
1245
+ --_utrecht-radio-button-interactive-background-color: var(
1246
+ --utrecht-radio-button-focus-background-color,
1247
+ var(--utrecht-radio-button-focus-background-color)
1248
+ );
1249
+ --_utrecht-radio-button-interactive-border-color: var(
1250
+ --utrecht-radio-button-focus-border-color,
1251
+ var(--utrecht-radio-button-focus-border-color)
1252
+ );
1253
+ --_utrecht-radio-button-interactive-border-width: var(
1254
+ --utrecht-radio-button-focus-border-width,
1255
+ var(--utrecht-radio-button-focus-border-width)
1256
+ );
1257
+ --_utrecht-radio-button-interactive-color: var(
1258
+ --utrecht-radio-button-focus-color,
1259
+ var(--utrecht-radio-button-focus-color)
1260
+ );
1261
+ }
1262
+ .utrecht-html input[type=radio i]:focus-visible {
1263
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
1264
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
1265
+ * can combine it with the focus ring box shadow.
1266
+ */
1267
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
1268
+ var(--utrecht-focus-inverse-outline-color, transparent);
1269
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
1270
+ outline-color: var(--utrecht-focus-outline-color, revert);
1271
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
1272
+ outline-style: var(--utrecht-focus-outline-style, revert);
1273
+ outline-width: var(--utrecht-focus-outline-width, revert);
1274
+ }
1275
+ .utrecht-html input[type=radio i]:hover:not([aria-disabled=true], :disabled) {
1276
+ --_utrecht-radio-button-interactive-background-color: var(
1277
+ --_utrecht-radio-button-state-hover-background-color,
1278
+ var(--utrecht-radio-button-hover-background-color)
1279
+ );
1280
+ --_utrecht-radio-button-interactive-border-color: var(
1281
+ --_utrecht-radio-button-state-hover-border-color,
1282
+ var(--utrecht-radio-button-hover-border-color)
1283
+ );
1284
+ --_utrecht-radio-button-interactive-border-width: var(
1285
+ --_utrecht-radio-button-state-hover-border-width,
1286
+ var(--utrecht-radio-button-hover-border-width)
1287
+ );
1288
+ --_utrecht-radio-button-interactive-color: var(
1289
+ --_utrecht-radio-button-state-hover-color,
1290
+ var(--utrecht-radio-button-hover-color)
1291
+ );
1292
+ }
1293
+ .utrecht-html input[type=radio i]:active:not([aria-disabled=true], :disabled) {
1294
+ --_utrecht-radio-button-interactive-background-color: var(
1295
+ --_utrecht-radio-button-state-active-background-color,
1296
+ var(--utrecht-radio-button-active-background-color)
1297
+ );
1298
+ --_utrecht-radio-button-interactive-border-color: var(
1299
+ --_utrecht-radio-button-state-active-border-color,
1300
+ var(--utrecht-radio-button-active-border-color)
1301
+ );
1302
+ --_utrecht-radio-button-interactive-border-width: var(
1303
+ --_utrecht-radio-button-state-active-border-width,
1304
+ var(--utrecht-radio-button-active-border-width)
1305
+ );
1306
+ --_utrecht-radio-button-interactive-color: var(
1307
+ --_utrecht-radio-button-state-active-color,
1308
+ var(--utrecht-radio-button-active-color)
1309
+ );
1310
+ }
1311
+ .utrecht-html select {
1312
+ background-color: var(--utrecht-select-background-color, var(--utrecht-form-control-background-color));
1313
+ border-block-end-width: var(--utrecht-select-border-block-end-width, var(--utrecht-select-border-width, var(--utrecht-form-control-border-width)));
1314
+ border-block-start-width: var(--utrecht-select-border-width, var(--utrecht-form-control-border-width));
1315
+ border-color: var(--utrecht-select-border-color, var(--utrecht-form-control-border-color));
1316
+ border-inline-end-width: var(--utrecht-select-border-width, var(--utrecht-form-control-border-width));
1317
+ border-inline-start-width: var(--utrecht-select-border-width, var(--utrecht-form-control-border-width));
1318
+ border-radius: var(--utrecht-select-border-radius, var(--utrecht-form-control-border-radius, 0));
1319
+ border-style: solid;
1320
+ color: var(--utrecht-select-color, var(--utrecht-form-control-color));
1321
+ font-family: var(--utrecht-select-font-family, var(--utrecht-form-control-font-family));
1322
+ font-size: var(--utrecht-select-font-size, var(--utrecht-form-control-font-size));
1323
+ inline-size: 100%;
1324
+ max-inline-size: var(--utrecht-select-max-inline-size, var(--utrecht-form-control-max-inline-size));
1325
+ padding-block-end: var(--utrecht-select-padding-block-end, var(--utrecht-form-control-padding-block-end));
1326
+ padding-block-start: var(--utrecht-select-padding-block-start, var(--utrecht-form-control-padding-block-start));
1327
+ padding-inline-end: var(--utrecht-select-padding-inline-end, var(--utrecht-form-control-padding-inline-end));
1328
+ padding-inline-start: var(--utrecht-select-padding-inline-start, var(--utrecht-form-control-padding-inline-start));
1329
+ /* <select> does not have a `readonly` attribute */
1330
+ }
1331
+ .utrecht-html select:focus {
1332
+ 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))));
1333
+ 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))));
1334
+ color: var(--utrecht-select-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
1335
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
1336
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
1337
+ * can combine it with the focus ring box shadow.
1338
+ */
1339
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
1340
+ var(--utrecht-focus-inverse-outline-color, transparent);
1341
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
1342
+ outline-color: var(--utrecht-focus-outline-color, revert);
1343
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
1344
+ outline-style: var(--utrecht-focus-outline-style, revert);
1345
+ outline-width: var(--utrecht-focus-outline-width, revert);
1346
+ }
1347
+ .utrecht-html select:focus:not(:focus-visible) {
1348
+ /* undo focus ring */
1349
+ box-shadow: none;
1350
+ outline-style: revert;
1351
+ }
1352
+ .utrecht-html select:disabled {
1353
+ 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))));
1354
+ 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))));
1355
+ color: var(--utrecht-select-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-select-color, var(--utrecht-form-control-color))));
1356
+ cursor: var(--utrecht-action-disabled-cursor, not-allowed);
1357
+ }
1358
+ .utrecht-html select[aria-invalid=true] {
1359
+ --_utrecht-select-border-width: var(
1360
+ --utrecht-select-invalid-border-width,
1361
+ var(
1362
+ --utrecht-form-control-invalid-border-width,
1363
+ var(--utrecht-select-border-width, var(--utrecht-form-control-border-width))
1364
+ )
1365
+ );
1366
+ 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))));
1367
+ border-width: var(--_utrecht-select-border-width);
1368
+ 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)))));
1369
+ 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))));
1370
+ }
1371
+ .utrecht-html hr {
1498
1372
  border-color: var(--utrecht-separator-color);
1499
1373
  border-style: solid;
1500
1374
  border-width: 0 0 var(--utrecht-separator-block-size) 0;
1501
- }
1502
-
1503
- .utrecht-separator--distanced, .utrecht-html hr {
1504
- margin-block-end: var(--utrecht-separator-margin-block-end);
1505
- margin-block-start: var(--utrecht-separator-margin-block-start);
1506
- }
1507
-
1508
- /**
1509
- * @license EUPL-1.2
1510
- * Copyright (c) 2021 Robbert Broersma
1511
- */
1512
- /**
1513
- * @license EUPL-1.2
1514
- * Copyright (c) 2021 Robbert Broersma
1515
- */
1516
- .utrecht-table, .utrecht-html table {
1517
- border-collapse: collapse;
1375
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-separator-margin-block-end, 0));
1376
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-separator-margin-block-start, 0));
1377
+ --utrecht-space-around: 1;
1378
+ }
1379
+ .utrecht-html table {
1380
+ /* `border-collapse: collapse` results in a broken border for sticky header and sticky footer.
1381
+ * Therefore we need to use `border-collapse: separate` instead.
1382
+ */
1383
+ border-collapse: separate;
1518
1384
  border-color: var(--utrecht-table-border-color, 0);
1385
+ border-spacing: 0;
1519
1386
  border-style: solid;
1520
1387
  border-width: var(--utrecht-table-border-width, 0);
1521
1388
  font-family: var(--utrecht-table-font-family, var(--utrecht-document-font-family));
1522
1389
  font-size: var(--utrecht-table-font-size, inherit);
1523
- width: 100%;
1524
- }
1525
-
1526
- .utrecht-table--distanced, .utrecht-html table {
1527
- margin-block-end: var(--utrecht-table-margin-block-end);
1528
- margin-block-start: var(--utrecht-table-margin-block-start);
1529
- }
1530
-
1531
- .utrecht-table__caption, .utrecht-html caption {
1390
+ inline-size: 100%;
1391
+ line-height: var(--utrecht-table-line-height, inherit);
1392
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-table-margin-block-end, 0));
1393
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-table-margin-block-start, 0));
1394
+ --utrecht-space-around: 1;
1395
+ }
1396
+ .utrecht-html caption {
1397
+ break-inside: avoid;
1532
1398
  color: var(--utrecht-table-caption-color);
1533
1399
  font-family: var(--utrecht-table-caption-font-family);
1534
1400
  font-size: var(--utrecht-table-caption-font-size);
1535
1401
  font-weight: var(--utrecht-table-caption-font-weight);
1536
1402
  line-height: var(--utrecht-table-caption-line-height);
1537
1403
  margin-block-end: var(--utrecht-table-caption-margin-block-end);
1404
+ page-break-after: avoid;
1538
1405
  text-align: var(--utrecht-table-caption-text-align, center);
1539
1406
  }
1540
-
1541
- .utrecht-table__header, .utrecht-html thead {
1407
+ .utrecht-html thead {
1408
+ --_utrecht-table-header-cell-vertical-align: bottom;
1409
+ --_utrecht-table-header-cell-z-index: 8;
1410
+ background-color: var(--utrecht-table-header-background-color);
1411
+ break-inside: avoid;
1542
1412
  color: var(--utrecht-table-header-color);
1543
1413
  font-weight: var(--utrecht-table-header-font-weight);
1414
+ page-break-inside: avoid;
1544
1415
  text-transform: var(--utrecht-table-header-text-transform);
1545
- vertical-align: bottom;
1546
- }
1547
-
1548
- .utrecht-table__cell--last-header-row, .utrecht-html thead tr:last-child th {
1549
- border-block-end-color: var(--utrecht-table-header-border-block-end-color, transparent);
1550
- border-block-end-style: solid;
1551
- border-block-end-width: var(--utrecht-table-header-border-block-end-width, 0);
1552
- }
1553
-
1554
- .utrecht-table__body, .utrecht-html tbody {
1555
- vertical-align: baseline;
1556
1416
  }
1557
-
1558
- .utrecht-table__heading, .utrecht-html th {
1559
- color: var(--utrecht-table-heading-color);
1560
- font-size: var(--utrecht-table-heading-font-size);
1561
- font-weight: var(--utrecht-table-heading-font-weight);
1562
- text-transform: var(--utrecht-table-heading-text-transform);
1417
+ .utrecht-html tbody {
1418
+ --_utrecht-table-header-cell-z-index: 2;
1563
1419
  }
1564
-
1565
- .utrecht-table__cell, .utrecht-html th,
1420
+ .utrecht-html th {
1421
+ --utrecht-icon-size: var(--utrecht-table-cell-icon-size);
1422
+ /* In tables `block-size` acts as `min-block-size`, but `min-block-size` is a clearer name for the design token */
1423
+ block-size: var(--utrecht-table-cell-line-height, 1em);
1424
+ line-height: var(--utrecht-table-cell-line-height, inherit);
1425
+ padding-block-end: var(--utrecht-table-cell-padding-block-end, 0);
1426
+ padding-block-start: var(--utrecht-table-cell-padding-block-start, 0);
1427
+ padding-inline-end: var(--utrecht-table-cell-padding-inline-end, 0);
1428
+ padding-inline-start: var(--utrecht-table-cell-padding-inline-start, 0);
1429
+ text-align: start;
1430
+ color: var(--utrecht-table-header-cell-color);
1431
+ font-size: var(--utrecht-table-header-cell-font-size);
1432
+ font-weight: var(--utrecht-table-header-cell-font-weight, bold);
1433
+ text-transform: var(--utrecht-table-header-cell-text-transform);
1434
+ vertical-align: var(--_utrecht-table-header-cell-vertical-align, top);
1435
+ z-index: var(--_utrecht-table-header-cell-z-index);
1436
+ }
1437
+ .utrecht-html th,
1566
1438
  .utrecht-html td {
1567
- border-block-end-color: var(--utrecht-table-row-border-block-end-color, transparent);
1568
- border-block-end-style: solid;
1569
- border-block-end-width: var(--utrecht-table-row-border-block-end-width, 0);
1439
+ --utrecht-icon-size: var(--utrecht-table-cell-icon-size);
1440
+ /* In tables `block-size` acts as `min-block-size`, but `min-block-size` is a clearer name for the design token */
1441
+ block-size: var(--utrecht-table-cell-line-height, 1em);
1570
1442
  line-height: var(--utrecht-table-cell-line-height, inherit);
1571
1443
  padding-block-end: var(--utrecht-table-cell-padding-block-end, 0);
1572
1444
  padding-block-start: var(--utrecht-table-cell-padding-block-start, 0);
1573
1445
  padding-inline-end: var(--utrecht-table-cell-padding-inline-end, 0);
1574
1446
  padding-inline-start: var(--utrecht-table-cell-padding-inline-start, 0);
1575
1447
  text-align: start;
1448
+ border-block-end-color: var(--utrecht-table-row-border-block-end-color, transparent);
1449
+ border-block-end-style: solid;
1450
+ border-block-end-width: var(--utrecht-table-row-border-block-end-width, 0);
1451
+ vertical-align: top;
1576
1452
  }
1577
-
1578
- .utrecht-table__cell--first, .utrecht-html td:first-child,
1453
+ .utrecht-html td:first-child,
1579
1454
  .utrecht-html th:first-child {
1580
1455
  padding-inline-start: var(--utrecht-table-row-padding-inline-start, var(--utrecht-table-cell-padding-inline-start, 0));
1581
1456
  }
1582
-
1583
- .utrecht-table__cell--last, .utrecht-html td:last-child,
1457
+ .utrecht-html td:last-child,
1584
1458
  .utrecht-html th:last-child {
1585
1459
  padding-inline-end: var(--utrecht-table-row-padding-inline-end, var(--utrecht-table-cell-padding-inline-end, 0));
1586
1460
  }
1587
-
1588
- .utrecht-table__cell--numeric, .utrecht-html th.numeric,
1461
+ .utrecht-html thead tr:last-child th {
1462
+ border-block-end-color: var(--utrecht-table-header-border-block-end-color, transparent);
1463
+ border-block-end-style: solid;
1464
+ border-block-end-width: var(--utrecht-table-header-border-block-end-width, 0);
1465
+ }
1466
+ .utrecht-html thead > tr > th.numeric,
1467
+ .utrecht-html tfoot > tr > th.numeric,
1468
+ .utrecht-html th[scope=column].numeric {
1469
+ --_utrecht-table-cell-text-align: right;
1470
+ /* stylelint-disable-next-line declaration-property-value-disallowed-list */
1471
+ text-align: var(--_utrecht-table-cell-text-align);
1472
+ }
1589
1473
  .utrecht-html td.numeric {
1474
+ --_utrecht-table-cell-text-align: right;
1590
1475
  /* stylelint-disable-next-line declaration-property-value-disallowed-list */
1591
- text-align: right;
1476
+ text-align: var(--_utrecht-table-cell-text-align);
1477
+ font-variant-numeric: lining-nums tabular-nums;
1592
1478
  }
1593
-
1594
- .utrecht-table__row--alternate-odd, .utrecht-html table.alternate-row-color > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tr:nth-child(odd) > th, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > th {
1479
+ .utrecht-html table.alternate-row-color > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tr:nth-child(even) > th {
1480
+ background-color: var(--utrecht-table-row-alternate-even-background-color);
1481
+ color: var(--utrecht-table-row-alternate-even-color);
1482
+ }
1483
+ .utrecht-html table.alternate-row-color > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tr:nth-child(odd) > th {
1595
1484
  background-color: var(--utrecht-table-row-alternate-odd-background-color);
1596
1485
  color: var(--utrecht-table-row-alternate-odd-color);
1597
1486
  }
1598
-
1599
- .utrecht-table__row--alternate-even, .utrecht-html table.alternate-row-color > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tr:nth-child(even) > th, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > th {
1487
+ .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > th {
1600
1488
  background-color: var(--utrecht-table-row-alternate-even-background-color);
1601
1489
  color: var(--utrecht-table-row-alternate-even-color);
1602
1490
  }
1603
-
1604
- /* stylelint-disable selector-class-pattern */
1605
- /**
1606
- * @license EUPL-1.2
1607
- * Copyright (c) 2021 Robbert Broersma
1608
- */
1609
- /**
1610
- * @license EUPL-1.2
1611
- * Copyright (c) 2021 Robbert Broersma
1612
- */
1613
- .utrecht-textarea, .utrecht-html textarea {
1614
- background-color: var(--utrecht-textarea-background-color, var(--form-input-textarea-background-color));
1615
- border-width: var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width));
1616
- border-bottom-width: var(--utrecht-textarea-border-bottom-width, var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width)));
1617
- border-color: var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color));
1618
- border-radius: var(--utrecht-textarea-border-radius, var(--utrecht-form-input-border-radius, 0));
1491
+ .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > th {
1492
+ background-color: var(--utrecht-table-row-alternate-odd-background-color);
1493
+ color: var(--utrecht-table-row-alternate-odd-color);
1494
+ }
1495
+ .utrecht-html textarea {
1496
+ /* Fall back to `resize: vertical` for browsers that don't support `resize: block` */
1497
+ background-color: var(--utrecht-textarea-background-color, var(--utrecht-form-control-background-color));
1498
+ block-size: initial; /* harden */
1499
+ border-width: var(--utrecht-textarea-border-width, var(--utrecht-form-control-border-width));
1500
+ border-block-end-width: var(--utrecht-textarea-border-bottom-width, var(--utrecht-textarea-border-width, var(--utrecht-form-control-border-width)));
1501
+ border-color: var(--utrecht-textarea-border-color, var(--utrecht-form-control-border-color));
1502
+ border-radius: var(--utrecht-textarea-border-radius, var(--utrecht-form-control-border-radius, 0));
1619
1503
  border-style: solid;
1620
- color: var(--utrecht-textarea-color, var(--form-input-textarea-color));
1621
- font-family: var(--utrecht-textarea-font-family, var(--utrecht-form-input-font-family));
1622
- font-size: var(--utrecht-textarea-font-size, var(--utrecht-form-input-font-size, 1em));
1623
- max-inline-size: var(--utrecht-textarea-max-inline-size, var(--utrecht-form-input-max-inline-size));
1504
+ box-sizing: border-box;
1505
+ color: var(--utrecht-textarea-color, var(--utrecht-form-control-color));
1506
+ font-family: var(--utrecht-textarea-font-family, var(--utrecht-form-control-font-family));
1507
+ font-size: var(--utrecht-textarea-font-size, var(--utrecht-form-control-font-size, inherit));
1508
+ font-weight: initial; /* harden */
1509
+ inline-size: 100%;
1510
+ line-height: var(--utrecht-textarea-line-height, initial);
1511
+ max-inline-size: var(--utrecht-textarea-max-inline-size, var(--utrecht-form-control-max-inline-size));
1624
1512
  min-block-size: var(--utrecht-textarea-min-block-size);
1625
- padding-block-end: var(--utrecht-textarea-padding-block-end, var(--utrecht-form-input-padding-block-end));
1626
- padding-block-start: var(--utrecht-textarea-padding-block-start, var(--utrecht-form-input-padding-block-start));
1627
- padding-inline-end: var(--utrecht-textarea-padding-inline-end, var(--utrecht-form-input-padding-inline-end));
1628
- padding-inline-start: var(--utrecht-textarea-padding-inline-start, var(--utrecht-form-input-padding-inline-start));
1513
+ padding-block-end: var(--utrecht-textarea-padding-block-end, var(--utrecht-form-control-padding-block-end, 0));
1514
+ padding-block-start: var(--utrecht-textarea-padding-block-start, var(--utrecht-form-control-padding-block-start, 0));
1515
+ padding-inline-end: var(--utrecht-textarea-padding-inline-end, var(--utrecht-form-control-padding-inline-end, initial));
1516
+ padding-inline-start: var(--utrecht-textarea-padding-inline-start, var(--utrecht-form-control-padding-inline-start, initial));
1629
1517
  resize: vertical;
1630
- width: 100%;
1631
- }
1632
-
1633
- .utrecht-textarea--invalid, .utrecht-textarea--html-textarea:invalid, .utrecht-textarea--html-textarea[aria-invalid=true], .utrecht-html textarea:invalid, .utrecht-html textarea[aria-invalid=true] {
1634
- background-color: var(--utrecht-textarea-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1635
- border-color: var(--utrecht-textarea-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1636
- border-width: var(--utrecht-textarea-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width))));
1637
- }
1638
-
1639
- .utrecht-textarea--disabled, .utrecht-textarea--html-textarea:disabled, .utrecht-html textarea:disabled {
1640
- background-color: var(--utrecht-textarea-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1641
- border-color: var(--utrecht-textarea-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1642
- color: var(--utrecht-textarea-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1643
- cursor: var(--utrecht-action-disabled-cursor);
1644
- }
1645
-
1646
- .utrecht-textarea--focus, .utrecht-textarea--html-textarea:focus, .utrecht-html textarea:focus {
1647
- background-color: var(--utrecht-focus-background-color);
1648
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1649
- color: var(--utrecht-focus-color, inherit);
1650
- outline-color: var(--utrecht-focus-outline-color, transparent);
1651
- outline-offset: 0;
1652
- outline-style: var(--utrecht-focus-outline-style, solid);
1653
- outline-width: var(--utrecht-focus-outline-width, 0);
1654
- background-color: var(--utrecht-textarea-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1655
- border-color: var(--utrecht-textarea-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1656
- color: var(--utrecht-textarea-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1657
- }
1658
-
1659
- .utrecht-textarea--read-only, .utrecht-textarea--html-textarea:read-only, .utrecht-html textarea:read-only {
1660
- border-color: var(--utrecht-textarea-read-only-border, var(--utrecht-form-input-read-only-border-color, var(--utrecht-textarea-border, var(--utrecht-form-input-border-color))));
1661
- color: var(--utrecht-textarea-read-only-color, var(--utrecht-form-input-read-only-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1662
- }
1663
-
1664
- .utrecht-textarea__placeholder, .utrecht-textarea--html-textarea::placeholder, .utrecht-html textarea::placeholder {
1665
- color: var(--utrecht-textarea-placeholder-color, var(--utrecht-form-input-placeholder-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1518
+ resize: block;
1519
+ /* The `textarea:read-only` pseudo selector applies to both `<textarea readonly>` and `<textarea disabled>` */
1520
+ /*
1521
+ * The `textarea:disabled` pseudo selector applies to `<textarea disabled>`, but not to `<textarea aria-disabled="true">`
1522
+ *
1523
+ * We consider `disabled` more specific than `read-only`, so the `:disabled` selector should come after the `:read-only` selector.
1524
+ */
1525
+ }
1526
+ .utrecht-html textarea:focus {
1527
+ background-color: var(--utrecht-textarea-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-control-background-color))));
1528
+ border-color: var(--utrecht-textarea-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-control-border-color))));
1529
+ color: var(--utrecht-textarea-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1530
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
1531
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
1532
+ * can combine it with the focus ring box shadow.
1533
+ */
1534
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
1535
+ var(--utrecht-focus-inverse-outline-color, transparent);
1536
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
1537
+ outline-color: var(--utrecht-focus-outline-color, revert);
1538
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
1539
+ outline-style: var(--utrecht-focus-outline-style, revert);
1540
+ outline-width: var(--utrecht-focus-outline-width, revert);
1541
+ }
1542
+ .utrecht-html textarea:focus:not(:focus-visible) {
1543
+ /* undo focus ring */
1544
+ box-shadow: none;
1545
+ outline-style: revert;
1546
+ }
1547
+ .utrecht-html textarea:invalid, .utrecht-html textarea[aria-invalid=true] {
1548
+ --_utrecht-textarea-border-width: var(
1549
+ --utrecht-textarea-invalid-border-width,
1550
+ var(
1551
+ --utrecht-form-control-invalid-border-width,
1552
+ var(--utrecht-textarea-border-width, var(--utrecht-form-control-border-width))
1553
+ )
1554
+ );
1555
+ background-color: var(--utrecht-textarea-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-control-background-color))));
1556
+ border-width: var(--_utrecht-textarea-border-width);
1557
+ border-block-end-width: var(--utrecht-textarea-invalid-border-bottom-width, var(--utrecht-form-control-invalid-border-bottom-width, var(--utrecht-textarea-border-bottom-width, var(--utrecht-form-control-border-bottom-width, var(--_utrecht-textarea-border-width)))));
1558
+ border-color: var(--utrecht-textarea-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-control-border-color))));
1559
+ color: var(--utrecht-textarea-invalid-color, var(--utrecht-form-control-invalid-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1560
+ }
1561
+ .utrecht-html textarea:read-only {
1562
+ background-color: var(--utrecht-textarea-read-only-border, var(--utrecht-form-control-read-only-background-color, var(--utrecht-textarea-border, var(--utrecht-form-control-background-color))));
1563
+ border-color: var(--utrecht-textarea-read-only-border, var(--utrecht-form-control-read-only-border-color, var(--utrecht-textarea-border, var(--utrecht-form-control-border-color))));
1564
+ color: var(--utrecht-textarea-read-only-color, var(--utrecht-form-control-read-only-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1565
+ }
1566
+ .utrecht-html textarea:disabled {
1567
+ background-color: var(--utrecht-textarea-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-control-background-color))));
1568
+ border-color: var(--utrecht-textarea-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-control-border-color))));
1569
+ color: var(--utrecht-textarea-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1570
+ cursor: var(--utrecht-action-disabled-cursor, not-allowed);
1571
+ }
1572
+ .utrecht-html textarea::placeholder {
1573
+ color: var(--utrecht-textarea-placeholder-color, var(--utrecht-form-control-placeholder-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1574
+ font-style: var(--utrecht-form-control-placeholder-font-style);
1666
1575
  opacity: 100%;
1667
1576
  }
1668
-
1669
- /**
1670
- * @license EUPL-1.2
1671
- * Copyright (c) 2021 Robbert Broersma
1672
- */
1673
- /**
1674
- * @license EUPL-1.2
1675
- * Copyright (c) 2021 Robbert Broersma
1676
- */
1677
- .utrecht-textbox, .utrecht-html input:not([type]),
1678
- .utrecht-html input[type=email],
1679
- .utrecht-html input[type=number],
1680
- .utrecht-html input[type=password],
1681
- .utrecht-html input[type=search],
1682
- .utrecht-html input[type=tel],
1683
- .utrecht-html input[type=text],
1684
- .utrecht-html input[type=url] {
1685
- background-color: var(--utrecht-textbox-background-color, var(--utrecht-form-input-background-color));
1686
- border-width: var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width));
1687
- border-bottom-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width)));
1688
- border-color: var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color));
1689
- border-radius: var(--utrecht-textbox-border-radius, var(--utrecht-form-input-border-radius, 0));
1577
+ .utrecht-html input:not([type]),
1578
+ .utrecht-html input[type=date i],
1579
+ .utrecht-html input[type=datetime-local i],
1580
+ .utrecht-html input[type=email i],
1581
+ .utrecht-html input[type=month i],
1582
+ .utrecht-html input[type=number i],
1583
+ .utrecht-html input[type=password i],
1584
+ .utrecht-html input[type=search i],
1585
+ .utrecht-html input[type=tel i],
1586
+ .utrecht-html input[type=text i],
1587
+ .utrecht-html input[type=time i],
1588
+ .utrecht-html input[type=url i],
1589
+ .utrecht-html input[type=week i] {
1590
+ background-color: var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color));
1591
+ block-size: initial; /* harden */
1592
+ border-width: var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width));
1593
+ border-block-end-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width)));
1594
+ border-color: var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color));
1595
+ border-radius: var(--utrecht-textbox-border-radius, var(--utrecht-form-control-border-radius, 0));
1690
1596
  border-style: solid;
1691
1597
  box-sizing: border-box;
1692
- color: var(--utrecht-textbox-color, var(--utrecht-form-input-color));
1693
- font-family: var(--utrecht-textbox-font-family, var(--utrecht-form-input-font-family));
1694
- font-size: var(--utrecht-textbox-font-size, var(--utrecht-form-input-font-size, 1em));
1695
- max-inline-size: var(--utrecht-textbox-max-inline-size, var(--utrecht-form-input-max-inline-size));
1696
- padding-block-end: var(--utrecht-textbox-padding-block-end, var(--utrecht-form-input-padding-block-end));
1697
- padding-block-start: var(--utrecht-textbox-padding-block-start, var(--utrecht-form-input-padding-block-start));
1698
- padding-inline-end: var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-input-padding-inline-end));
1699
- padding-inline-start: var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-input-padding-inline-start));
1700
- width: 100%;
1701
- }
1702
-
1703
- .utrecht-textbox--invalid, .utrecht-textbox--html-input:invalid, .utrecht-textbox--html-input[aria-invalid=true], .utrecht-html input:invalid:not([type]),
1704
- .utrecht-html input[type=email]:invalid,
1705
- .utrecht-html input[type=number]:invalid,
1706
- .utrecht-html input[type=password]:invalid,
1707
- .utrecht-html input[type=search]:invalid,
1708
- .utrecht-html input[type=tel]:invalid,
1709
- .utrecht-html input[type=text]:invalid,
1710
- .utrecht-html input[type=url]:invalid, .utrecht-html input[aria-invalid=true]:not([type]),
1711
- .utrecht-html input[aria-invalid=true][type=email],
1712
- .utrecht-html input[aria-invalid=true][type=number],
1713
- .utrecht-html input[aria-invalid=true][type=password],
1714
- .utrecht-html input[aria-invalid=true][type=search],
1715
- .utrecht-html input[aria-invalid=true][type=tel],
1716
- .utrecht-html input[aria-invalid=true][type=text],
1717
- .utrecht-html input[aria-invalid=true][type=url] {
1718
- background-color: var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-input-background-color))));
1719
- border-color: var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color))));
1720
- border-width: var(--utrecht-textbox-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width))));
1721
- }
1722
-
1723
- .utrecht-textbox--disabled, .utrecht-textbox--html-input:disabled, .utrecht-html input:disabled:not([type]),
1724
- .utrecht-html input[type=email]:disabled,
1725
- .utrecht-html input[type=number]:disabled,
1726
- .utrecht-html input[type=password]:disabled,
1727
- .utrecht-html input[type=search]:disabled,
1728
- .utrecht-html input[type=tel]:disabled,
1729
- .utrecht-html input[type=text]:disabled,
1730
- .utrecht-html input[type=url]:disabled {
1731
- background-color: var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1732
- border-color: var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1733
- color: var(--utrecht-textbox-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1734
- cursor: var(--utrecht-action-disabled-cursor);
1735
- }
1736
-
1737
- .utrecht-textbox--focus, .utrecht-textbox--html-input:focus, .utrecht-html input:focus:not([type]),
1738
- .utrecht-html input[type=email]:focus,
1739
- .utrecht-html input[type=number]:focus,
1740
- .utrecht-html input[type=password]:focus,
1741
- .utrecht-html input[type=search]:focus,
1742
- .utrecht-html input[type=tel]:focus,
1743
- .utrecht-html input[type=text]:focus,
1744
- .utrecht-html input[type=url]:focus {
1745
- background-color: var(--utrecht-focus-background-color);
1746
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1747
- color: var(--utrecht-focus-color, inherit);
1748
- outline-color: var(--utrecht-focus-outline-color, transparent);
1749
- outline-offset: 0;
1750
- outline-style: var(--utrecht-focus-outline-style, solid);
1751
- outline-width: var(--utrecht-focus-outline-width, 0);
1752
- background-color: var(--utrecht-textbox-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1753
- border-color: var(--utrecht-textbox-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1754
- color: var(--utrecht-textbox-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1755
- }
1756
-
1757
- .utrecht-textbox--read-only, .utrecht-textbox--html-input:read-only, .utrecht-html input:read-only:not([type]),
1758
- .utrecht-html input[type=email]:read-only,
1759
- .utrecht-html input[type=number]:read-only,
1760
- .utrecht-html input[type=password]:read-only,
1761
- .utrecht-html input[type=search]:read-only,
1762
- .utrecht-html input[type=tel]:read-only,
1763
- .utrecht-html input[type=text]:read-only,
1764
- .utrecht-html input[type=url]:read-only {
1765
- border-color: var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-input-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color))));
1766
- color: var(--utrecht-textbox-read-only-color, var(--utrecht-form-input-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-input-color))));
1767
- }
1768
-
1769
- .utrecht-textbox__placeholder, .utrecht-textbox--html-input::placeholder, .utrecht-html input:not([type])::placeholder,
1770
- .utrecht-html input[type=email]::placeholder,
1771
- .utrecht-html input[type=number]::placeholder,
1772
- .utrecht-html input[type=password]::placeholder,
1773
- .utrecht-html input[type=search]::placeholder,
1774
- .utrecht-html input[type=tel]::placeholder,
1775
- .utrecht-html input[type=text]::placeholder,
1776
- .utrecht-html input[type=url]::placeholder {
1777
- color: var(--utrecht-textbox-placeholder-color, var(--utrecht-form-input-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-input-color))));
1598
+ color: var(--utrecht-textbox-color, var(--utrecht-form-control-color));
1599
+ font-family: var(--utrecht-textbox-font-family, var(--utrecht-form-control-font-family));
1600
+ font-size: var(--utrecht-textbox-font-size, var(--utrecht-form-control-font-size, inherit));
1601
+ font-weight: initial; /* harden */
1602
+ inline-size: 100%;
1603
+ line-height: var(--utrecht-textbox-line-height, var(--utrecht-form-control-line-height, initial));
1604
+ max-inline-size: var(--utrecht-textbox-max-inline-size, var(--utrecht-form-control-max-inline-size));
1605
+ padding-block-end: var(--utrecht-textbox-padding-block-end, var(--utrecht-form-control-padding-block-end, 0));
1606
+ padding-block-start: var(--utrecht-textbox-padding-block-start, var(--utrecht-form-control-padding-block-start, 0));
1607
+ padding-inline-end: var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-control-padding-inline-end, initial));
1608
+ padding-inline-start: var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-control-padding-inline-start, initial));
1609
+ /* The `input:read-only` pseudo selector applies to both `<input readonly>` and `<input disabled>` */
1610
+ /*
1611
+ * The `input:disabled` pseudo selector applies to `<input disabled>`, but not to `<input aria-disabled="true">`
1612
+ *
1613
+ * We consider `disabled` more specific than `read-only`, so the `:disabled` selector should come after the `:read-only` selector.
1614
+ */
1615
+ }
1616
+ .utrecht-html input:not([type]):focus,
1617
+ .utrecht-html input[type=date i]:focus,
1618
+ .utrecht-html input[type=datetime-local i]:focus,
1619
+ .utrecht-html input[type=email i]:focus,
1620
+ .utrecht-html input[type=month i]:focus,
1621
+ .utrecht-html input[type=number i]:focus,
1622
+ .utrecht-html input[type=password i]:focus,
1623
+ .utrecht-html input[type=search i]:focus,
1624
+ .utrecht-html input[type=tel i]:focus,
1625
+ .utrecht-html input[type=text i]:focus,
1626
+ .utrecht-html input[type=time i]:focus,
1627
+ .utrecht-html input[type=url i]:focus,
1628
+ .utrecht-html input[type=week i]:focus {
1629
+ background-color: var(--utrecht-textbox-focus-background-color, var(--utrecht-form-control-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-control-background-color))));
1630
+ border-color: var(--utrecht-textbox-focus-border-color, var(--utrecht-form-control-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-control-border-color))));
1631
+ color: var(--utrecht-textbox-focus-color, var(--utrecht-form-control-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1632
+ /* - The browser default focus ring should apply when these CSS custom properties are not set.
1633
+ * - Make the `box-shadow` value available, so components that have their own `box-shadow`
1634
+ * can combine it with the focus ring box shadow.
1635
+ */
1636
+ --_utrecht-focus-ring-box-shadow: 0 0 0 var(--utrecht-focus-outline-width, 0)
1637
+ var(--utrecht-focus-inverse-outline-color, transparent);
1638
+ box-shadow: var(--_utrecht-focus-ring-box-shadow);
1639
+ outline-color: var(--utrecht-focus-outline-color, revert);
1640
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
1641
+ outline-style: var(--utrecht-focus-outline-style, revert);
1642
+ outline-width: var(--utrecht-focus-outline-width, revert);
1643
+ }
1644
+ .utrecht-html input:not([type]):focus:not(:focus-visible),
1645
+ .utrecht-html input[type=date i]:focus:not(:focus-visible),
1646
+ .utrecht-html input[type=datetime-local i]:focus:not(:focus-visible),
1647
+ .utrecht-html input[type=email i]:focus:not(:focus-visible),
1648
+ .utrecht-html input[type=month i]:focus:not(:focus-visible),
1649
+ .utrecht-html input[type=number i]:focus:not(:focus-visible),
1650
+ .utrecht-html input[type=password i]:focus:not(:focus-visible),
1651
+ .utrecht-html input[type=search i]:focus:not(:focus-visible),
1652
+ .utrecht-html input[type=tel i]:focus:not(:focus-visible),
1653
+ .utrecht-html input[type=text i]:focus:not(:focus-visible),
1654
+ .utrecht-html input[type=time i]:focus:not(:focus-visible),
1655
+ .utrecht-html input[type=url i]:focus:not(:focus-visible),
1656
+ .utrecht-html input[type=week i]:focus:not(:focus-visible) {
1657
+ /* undo focus ring */
1658
+ box-shadow: none;
1659
+ outline-style: revert;
1660
+ }
1661
+ .utrecht-html input:not([type]):invalid, .utrecht-html input:not([type])[aria-invalid=true],
1662
+ .utrecht-html input[type=date i]:invalid,
1663
+ .utrecht-html input[type=date i][aria-invalid=true],
1664
+ .utrecht-html input[type=datetime-local i]:invalid,
1665
+ .utrecht-html input[type=datetime-local i][aria-invalid=true],
1666
+ .utrecht-html input[type=email i]:invalid,
1667
+ .utrecht-html input[type=email i][aria-invalid=true],
1668
+ .utrecht-html input[type=month i]:invalid,
1669
+ .utrecht-html input[type=month i][aria-invalid=true],
1670
+ .utrecht-html input[type=number i]:invalid,
1671
+ .utrecht-html input[type=number i][aria-invalid=true],
1672
+ .utrecht-html input[type=password i]:invalid,
1673
+ .utrecht-html input[type=password i][aria-invalid=true],
1674
+ .utrecht-html input[type=search i]:invalid,
1675
+ .utrecht-html input[type=search i][aria-invalid=true],
1676
+ .utrecht-html input[type=tel i]:invalid,
1677
+ .utrecht-html input[type=tel i][aria-invalid=true],
1678
+ .utrecht-html input[type=text i]:invalid,
1679
+ .utrecht-html input[type=text i][aria-invalid=true],
1680
+ .utrecht-html input[type=time i]:invalid,
1681
+ .utrecht-html input[type=time i][aria-invalid=true],
1682
+ .utrecht-html input[type=url i]:invalid,
1683
+ .utrecht-html input[type=url i][aria-invalid=true],
1684
+ .utrecht-html input[type=week i]:invalid,
1685
+ .utrecht-html input[type=week i][aria-invalid=true] {
1686
+ --_utrecht-textbox-border-width: var(
1687
+ --utrecht-textbox-invalid-border-width,
1688
+ var(
1689
+ --utrecht-form-control-invalid-border-width,
1690
+ var(--utrecht-textbox-border-width, var(--utrecht-form-control-border-width))
1691
+ )
1692
+ );
1693
+ background-color: var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-control-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
1694
+ border-width: var(--_utrecht-textbox-border-width);
1695
+ border-block-end-width: var(--utrecht-textbox-invalid-border-bottom-width, var(--utrecht-form-control-invalid-border-bottom-width, var(--utrecht-textbox-border-bottom-width, var(--utrecht-form-control-border-bottom-width, var(--_utrecht-textbox-border-width)))));
1696
+ border-color: var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-control-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
1697
+ color: var(--utrecht-textbox-invalid-color, var(--utrecht-form-control-invalid-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
1698
+ }
1699
+ .utrecht-html input:not([type]):read-only,
1700
+ .utrecht-html input[type=date i]:read-only,
1701
+ .utrecht-html input[type=datetime-local i]:read-only,
1702
+ .utrecht-html input[type=email i]:read-only,
1703
+ .utrecht-html input[type=month i]:read-only,
1704
+ .utrecht-html input[type=number i]:read-only,
1705
+ .utrecht-html input[type=password i]:read-only,
1706
+ .utrecht-html input[type=search i]:read-only,
1707
+ .utrecht-html input[type=tel i]:read-only,
1708
+ .utrecht-html input[type=text i]:read-only,
1709
+ .utrecht-html input[type=time i]:read-only,
1710
+ .utrecht-html input[type=url i]:read-only,
1711
+ .utrecht-html input[type=week i]:read-only {
1712
+ background-color: var(--utrecht-textbox-read-only-background-color, var(--utrecht-form-control-read-only-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-control-background-color))));
1713
+ border-color: var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-control-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-control-border-color))));
1714
+ color: var(--utrecht-textbox-read-only-color, var(--utrecht-form-control-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
1715
+ }
1716
+ .utrecht-html input:not([type]):disabled,
1717
+ .utrecht-html input[type=date i]:disabled,
1718
+ .utrecht-html input[type=datetime-local i]:disabled,
1719
+ .utrecht-html input[type=email i]:disabled,
1720
+ .utrecht-html input[type=month i]:disabled,
1721
+ .utrecht-html input[type=number i]:disabled,
1722
+ .utrecht-html input[type=password i]:disabled,
1723
+ .utrecht-html input[type=search i]:disabled,
1724
+ .utrecht-html input[type=tel i]:disabled,
1725
+ .utrecht-html input[type=text i]:disabled,
1726
+ .utrecht-html input[type=time i]:disabled,
1727
+ .utrecht-html input[type=url i]:disabled,
1728
+ .utrecht-html input[type=week i]:disabled {
1729
+ background-color: var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-control-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-control-background-color))));
1730
+ border-color: var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-control-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-control-border-color))));
1731
+ color: var(--utrecht-textbox-disabled-color, var(--utrecht-form-control-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-control-color))));
1732
+ cursor: var(--utrecht-action-disabled-cursor, not-allowed);
1733
+ }
1734
+ .utrecht-html input:not([type])::placeholder,
1735
+ .utrecht-html input[type=date i]::placeholder,
1736
+ .utrecht-html input[type=datetime-local i]::placeholder,
1737
+ .utrecht-html input[type=email i]::placeholder,
1738
+ .utrecht-html input[type=month i]::placeholder,
1739
+ .utrecht-html input[type=number i]::placeholder,
1740
+ .utrecht-html input[type=password i]::placeholder,
1741
+ .utrecht-html input[type=search i]::placeholder,
1742
+ .utrecht-html input[type=tel i]::placeholder,
1743
+ .utrecht-html input[type=text i]::placeholder,
1744
+ .utrecht-html input[type=time i]::placeholder,
1745
+ .utrecht-html input[type=url i]::placeholder,
1746
+ .utrecht-html input[type=week i]::placeholder {
1747
+ color: var(--utrecht-textbox-placeholder-color, var(--utrecht-form-control-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-control-color))));
1748
+ font-style: var(--utrecht-form-control-placeholder-font-style);
1778
1749
  opacity: 100%;
1779
1750
  }
1780
-
1781
- /**
1782
- * @license EUPL-1.2
1783
- * Copyright (c) 2021 Robbert Broersma
1784
- */
1785
- /**
1786
- * @license EUPL-1.2
1787
- * Copyright (c) 2021 Robbert Broersma
1788
- * Copyright (c) 2021 Gemeente Utrecht
1789
- */
1790
- .utrecht-unordered-list, .utrecht-html ul {
1751
+ .utrecht-html input[autocomplete~=current-password i],
1752
+ .utrecht-html input[autocomplete~=new-password i],
1753
+ .utrecht-html input[type=password i] {
1754
+ font-variant-ligatures: none;
1755
+ font-variant-numeric: slashed-zero;
1756
+ }
1757
+ .utrecht-html input[autocomplete~=bday i],
1758
+ .utrecht-html input[autocomplete~=bday-day i],
1759
+ .utrecht-html input[autocomplete~=bday-month i],
1760
+ .utrecht-html input[autocomplete~=bday-year i],
1761
+ .utrecht-html input[autocomplete~=cc-csc i],
1762
+ .utrecht-html input[autocomplete~=cc-exp i],
1763
+ .utrecht-html input[autocomplete~=cc-exp-month i],
1764
+ .utrecht-html input[autocomplete~=cc-exp-year i],
1765
+ .utrecht-html input[autocomplete~=cc-number i],
1766
+ .utrecht-html input[autocomplete~=one-time-code i],
1767
+ .utrecht-html input[autocomplete~=postal-code i],
1768
+ .utrecht-html input[autocomplete~=tel i],
1769
+ .utrecht-html input[autocomplete~=tel-area-code i],
1770
+ .utrecht-html input[autocomplete~=tel-country-code i],
1771
+ .utrecht-html input[autocomplete~=tel-extension i],
1772
+ .utrecht-html input[autocomplete~=tel-local i],
1773
+ .utrecht-html input[autocomplete~=tel-national i],
1774
+ .utrecht-html input[autocomplete~=transaction-amount i],
1775
+ .utrecht-html input[inputmode=decimal i],
1776
+ .utrecht-html input[inputmode=numeric i],
1777
+ .utrecht-html input[inputmode=tel i],
1778
+ .utrecht-html input[type=number i],
1779
+ .utrecht-html input[type=tel i] {
1780
+ -moz-appearance: textfield; /* avoid spinner input in Firefox */
1781
+ font-variant-numeric: lining-nums tabular-nums;
1782
+ }
1783
+ .utrecht-html input[inputmode=email i],
1784
+ .utrecht-html input[inputmode=url i],
1785
+ .utrecht-html input[type=email i],
1786
+ .utrecht-html input[type=url i] {
1787
+ font-variant-ligatures: none;
1788
+ }
1789
+ .utrecht-html ul {
1790
+ /* Configure `box-sizing` and `text-align` for `--center` */
1791
+ box-sizing: border-box;
1791
1792
  font-family: var(--utrecht-document-font-family, inherit);
1792
- font-size: var(--utrecht-document-font-size, inherit);
1793
- line-height: var(--utrecht-document-line-height, inherit);
1794
- margin-block-end: 0;
1795
- margin-block-start: 0;
1793
+ font-size: var(--utrecht-unordered-list-font-size, var(--utrecht-document-font-size, inherit));
1794
+ line-height: var(--utrecht-unordered-list-line-height, var(--utrecht-document-line-height, inherit));
1795
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-unordered-list-margin-block-end, var(--utrecht-paragraph-margin-block-end, 0)));
1796
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-unordered-list-margin-block-start, var(--utrecht-paragraph-margin-block-start, 0)));
1796
1797
  padding-inline-start: var(--utrecht-unordered-list-padding-inline-start, 2ch);
1798
+ text-align: start;
1799
+ --utrecht-space-around: 1;
1797
1800
  }
1798
-
1799
- .utrecht-unordered-list--distanced, .utrecht-html ul {
1800
- margin-block-end: var(--utrecht-unordered-list-margin-block-end, var(--utrecht-paragraph-margin-block-end));
1801
- margin-block-start: var(--utrecht-unordered-list-margin-block-start, var(--utrecht-paragraph-margin-block-start));
1802
- }
1803
-
1804
- .utrecht-unordered-list--nested {
1805
- margin-block-end: 0;
1806
- margin-inline-start: 2ch;
1807
- }
1808
-
1809
- .utrecht-unordered-list__item, .utrecht-html ul > li {
1801
+ .utrecht-html ul > li {
1810
1802
  margin-block-end: var(--utrecht-unordered-list-item-margin-block-end);
1811
1803
  margin-block-start: var(--utrecht-unordered-list-item-margin-block-start);
1812
1804
  padding-inline-start: var(--utrecht-unordered-list-item-padding-inline-start, 1ch);
1813
1805
  }
1814
-
1815
- .utrecht-unordered-list__item::marker, .utrecht-html ul > li::marker,
1816
- .utrecht-unordered-list__marker {
1806
+ .utrecht-html ul > li::marker {
1817
1807
  color: var(--utrecht-unordered-list-marker-color);
1818
1808
  content: "●";
1819
1809
  }