@utrecht/component-library-css 1.0.0-alpha.55 → 1.0.0-alpha.551

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