@utrecht/component-library-css 1.0.0-alpha.35 → 1.0.0-alpha.351

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-start: var(--utrecht-blockquote-margin-inline-start);
41
- margin-inline-end: var(--utrecht-blockquote-margin-inline-end);
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-start: var(--utrecht-blockquote-margin-block-start);
58
- margin-block-end: var(--utrecht-blockquote-margin-block-end);
59
- }
60
-
61
34
  /**
62
35
  * @license EUPL-1.2
63
36
  * Copyright (c) 2021 Robbert Broersma
@@ -67,85 +40,27 @@
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
- color: var(--utrecht-button-primary-action-color);
72
- font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
73
- font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
74
- font-weight: var(--utrecht-button-font-weight);
75
- background-color: var(--utrecht-button-primary-action-background-color);
76
- border-radius: var(--utrecht-button-border-radius);
77
- border-width: var(--utrecht-button-border-width);
78
- letter-spacing: var(--utrecht-button-letter-spacing);
79
- padding-inline-start: var(--utrecht-button-padding-inline-start);
80
- padding-inline-end: var(--utrecht-button-padding-inline-end);
81
- padding-block-start: var(--utrecht-button-padding-block-start);
82
- padding-block-end: var(--utrecht-button-padding-block-end);
83
- text-transform: var(--utrecht-button-text-transform);
84
- }
85
-
86
- .utrecht-button--distanced, .utrecht-html button {
87
- margin-inline-start: var(--utrecht-button-margin-inline-start);
88
- margin-inline-end: var(--utrecht-button-margin-inline-end);
89
- margin-block-start: var(--utrecht-button-margin-block-start);
90
- margin-block-end: var(--utrecht-button-margin-block-end);
91
- }
92
-
93
- .utrecht-button:disabled, .utrecht-html button:disabled,
94
- .utrecht-button--disabled {
95
- color: var(--utrecht-button-disabled-color);
96
- background-color: var(--utrecht-button-disabled-background-color);
97
- }
98
-
99
- .utrecht-button--focus, .utrecht-html button:focus,
100
- .utrecht-button:not(.utrecht-button--disabled):focus {
101
- outline-width: var(--utrecht-focus-outline-width, 0);
102
- outline-style: var(--utrecht-focus-outline-style, solid);
103
- outline-color: var(--utrecht-focus-outline-color, transparent);
104
- color: var(--utrecht-focus-color, inherit);
105
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
106
- outline-offset: 0;
107
- background-color: var(--utrecht-focus-background-color);
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
- color: var(--utrecht-button-primary-action-color);
113
- background-color: var(--utrecht-button-primary-action-hover-background-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
- /* reset native margin for input[type="checkbox"] */
127
- margin-block-start: 0;
128
- margin-block-end: 0;
129
- margin-inline-start: 0;
130
- margin-inline-end: 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
66
  * Copyright (c) 2021 Robbert Broersma
@@ -154,39 +69,6 @@
154
69
  * @license EUPL-1.2
155
70
  * Copyright (c) 2021 Robbert Broersma
156
71
  */
157
- .utrecht-form-fieldset--distanced, .utrecht-html fieldset {
158
- margin-block-start: var(--utrecht-form-fieldset-margin-block-start, 0);
159
- margin-block-end: var(--utrecht-form-fieldset-margin-block-end, 0);
160
- }
161
-
162
- .utrecht-form-fieldset__legend, .utrecht-html legend {
163
- font-family: var(--utrecht-form-fieldset-legend-font-family, var(--utrecht-document-font-family));
164
- font-size: var(--utrecht-form-fieldset-legend-font-size);
165
- font-weight: var(--utrecht-form-fieldset-legend-font-weight);
166
- line-height: var(--utrecht-form-fieldset-legend-line-height);
167
- color: var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit));
168
- }
169
-
170
- .utrecht-form-fieldset__legend--distanced, .utrecht-html legend {
171
- margin-block-start: var(--utrecht-form-fieldset-legend-margin-block-start);
172
- margin-block-end: var(--utrecht-form-fieldset-legend-margin-block-end);
173
- }
174
-
175
- .utrecht-html fieldset {
176
- border: 0;
177
- margin: 0;
178
- min-width: 0;
179
- padding-block-end: 0;
180
- padding-block-start: 0.01em;
181
- padding-inline-end: 0;
182
- padding-inline-start: 0;
183
- }
184
-
185
- .utrecht-html legend {
186
- padding-inline-end: 0;
187
- padding-inline-start: 0;
188
- }
189
-
190
72
  /**
191
73
  * @license EUPL-1.2
192
74
  * Copyright (c) 2021 Robbert Broersma
@@ -195,124 +77,18 @@
195
77
  * @license EUPL-1.2
196
78
  * Copyright (c) 2021 Robbert Broersma
197
79
  */
198
- .utrecht-form-label, .utrecht-html label {
199
- font-weight: var(--utrecht-form-label-font-weight);
200
- font-size: var(--utrecht-form-label-font-size);
201
- }
202
-
203
- .utrecht-form-label--checkbox, .utrecht-html input[type=checkbox] ~ label {
204
- font-weight: var(--utrecht-form-label-checkbox-font-weight, var(--utrecht-form-label-font-weight));
205
- }
206
-
207
- .utrecht-form-label--radio, .utrecht-html input[type=radio] ~ label {
208
- font-weight: var(--utrecht-form-label-radio-font-weight, var(--utrecht-form-label-font-weight));
209
- }
210
-
211
80
  /**
212
81
  * @license EUPL-1.2
213
82
  * Copyright (c) 2021 Robbert Broersma
214
83
  */
215
84
  /**
216
85
  * @license EUPL-1.2
217
- * Copyright (c) 2021 Gemeente Utrecht
218
86
  * Copyright (c) 2021 Robbert Broersma
219
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
220
87
  */
221
- .utrecht-heading-1, .utrecht-html h1 {
222
- font-family: var(--utrecht-heading-1-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
223
- font-size: var(--utrecht-heading-1-font-size);
224
- font-weight: var(--utrecht-heading-1-font-weight, var(--utrecht-heading-font-weight, bold));
225
- letter-spacing: var(--utrecht-heading-1-letter-spacing);
226
- line-height: var(--utrecht-heading-1-line-height);
227
- text-transform: var(--utrecht-heading-1-text-transform, inherit);
228
- color: var(--utrecht-heading-1-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
229
- }
230
-
231
- .utrecht-heading-1--distanced, .utrecht-html h1 {
232
- margin-block-start: var(--utrecht-heading-1-margin-block-start);
233
- margin-block-end: var(--utrecht-heading-1-margin-block-end);
234
- }
235
-
236
- .utrecht-heading-2, .utrecht-html h2 {
237
- font-family: var(--utrecht-heading-2-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
238
- font-size: var(--utrecht-heading-2-font-size);
239
- font-weight: var(--utrecht-heading-2-font-weight, var(--utrecht-heading-font-weight, bold));
240
- letter-spacing: var(--utrecht-heading-2-letter-spacing);
241
- line-height: var(--utrecht-heading-2-line-height);
242
- text-transform: var(--utrecht-heading-2-text-transform, inherit);
243
- color: var(--utrecht-heading-2-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
244
- }
245
-
246
- .utrecht-heading-2--distanced, .utrecht-html h2 {
247
- margin-block-start: var(--utrecht-heading-2-margin-block-start);
248
- margin-block-end: var(--utrecht-heading-2-margin-block-end);
249
- }
250
-
251
- .utrecht-heading-3, .utrecht-html h3 {
252
- font-family: var(--utrecht-heading-3-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
253
- font-size: var(--utrecht-heading-3-font-size);
254
- font-weight: var(--utrecht-heading-3-font-weight, var(--utrecht-heading-font-weight, bold));
255
- letter-spacing: var(--utrecht-heading-3-letter-spacing);
256
- line-height: var(--utrecht-heading-3-line-height);
257
- text-transform: var(--utrecht-heading-3-text-transform, inherit);
258
- color: var(--utrecht-heading-3-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
259
- }
260
-
261
- .utrecht-heading-3--distanced, .utrecht-html h3 {
262
- margin-block-start: var(--utrecht-heading-3-margin-block-start);
263
- margin-block-end: var(--utrecht-heading-3-margin-block-end);
264
- }
265
-
266
- .utrecht-heading-4, .utrecht-html h4 {
267
- font-family: var(--utrecht-heading-4-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
268
- font-size: var(--utrecht-heading-4-font-size);
269
- font-weight: var(--utrecht-heading-4-font-weight, var(--utrecht-heading-font-weight, bold));
270
- letter-spacing: var(--utrecht-heading-4-letter-spacing);
271
- line-height: var(--utrecht-heading-4-line-height);
272
- text-transform: var(--utrecht-heading-4-text-transform, inherit);
273
- color: var(--utrecht-heading-4-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
274
- }
275
-
276
- .utrecht-heading-4--distanced, .utrecht-html h4 {
277
- margin-block-start: var(--utrecht-heading-4-margin-block-start);
278
- margin-block-end: var(--utrecht-heading-4-margin-block-end);
279
- }
280
-
281
- .utrecht-heading-5, .utrecht-html h5 {
282
- font-family: var(--utrecht-heading-5-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
283
- font-size: var(--utrecht-heading-5-font-size);
284
- font-weight: var(--utrecht-heading-5-font-weight, var(--utrecht-heading-font-weight, bold));
285
- letter-spacing: var(--utrecht-heading-5-letter-spacing);
286
- line-height: var(--utrecht-heading-5-line-height);
287
- text-transform: var(--utrecht-heading-5-text-transform, inherit);
288
- color: var(--utrecht-heading-5-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
289
- }
290
-
291
- .utrecht-heading-5--distanced, .utrecht-html h5 {
292
- margin-block-start: var(--utrecht-heading-5-margin-block-start);
293
- margin-block-end: var(--utrecht-heading-5-margin-block-end);
294
- }
295
-
296
- .utrecht-heading-6, .utrecht-html h6 {
297
- font-family: var(--utrecht-heading-6-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
298
- font-size: var(--utrecht-heading-6-font-size);
299
- font-weight: var(--utrecht-heading-6-font-weight, var(--utrecht-heading-font-weight, bold));
300
- letter-spacing: var(--utrecht-heading-6-letter-spacing);
301
- line-height: var(--utrecht-heading-6-line-height);
302
- text-transform: var(--utrecht-heading-6-text-transform, inherit);
303
- color: var(--utrecht-heading-6-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
304
- }
305
-
306
- .utrecht-heading-6--distanced, .utrecht-html h6 {
307
- margin-block-start: var(--utrecht-heading-6-margin-block-start);
308
- margin-block-end: var(--utrecht-heading-6-margin-block-end);
309
- }
310
-
311
88
  /**
312
89
  * @license EUPL-1.2
313
90
  * Copyright (c) 2021 Robbert Broersma
314
91
  */
315
- /* Collection of all semantic HTML styles in the component library */
316
92
  /**
317
93
  * @license EUPL-1.2
318
94
  * Copyright (c) 2021 Robbert Broersma
@@ -321,8 +97,6 @@
321
97
  * @license EUPL-1.2
322
98
  * Copyright (c) 2021 Robbert Broersma
323
99
  */
324
- /* stylelint-disable-next-line block-no-empty */
325
- /* stylelint-disable-next-line block-no-empty */
326
100
  /**
327
101
  * @license EUPL-1.2
328
102
  * Copyright (c) 2021 Robbert Broersma
@@ -331,344 +105,176 @@
331
105
  * @license EUPL-1.2
332
106
  * Copyright (c) 2021 Robbert Broersma
333
107
  */
334
- .utrecht-article, .utrecht-html article {
335
- max-inline-size: var(--utrecht-article-max-inline-size);
336
- }
337
-
338
108
  /**
339
109
  * @license EUPL-1.2
110
+ * Copyright (c) 2021 Gemeente Utrecht
340
111
  * Copyright (c) 2021 Robbert Broersma
112
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
341
113
  */
342
114
  /**
343
115
  * @license EUPL-1.2
344
- * Copyright (c) 2021 Robbert Broersma
116
+ * Copyright (c) 2021-2022 Frameless B.V.
345
117
  */
346
- .utrecht-blockquote, .utrecht-html blockquote {
347
- font-family: var(--utrecht-document-font-family);
348
- font-size: var(--utrecht-blockquote-font-size);
349
- margin-inline-start: var(--utrecht-blockquote-margin-inline-start);
350
- margin-inline-end: var(--utrecht-blockquote-margin-inline-end);
351
- }
352
-
353
- .utrecht-blockquote__attribution {
354
- color: var(--utrecht-blockquote-attribution-color, inherit);
355
- font-size: var(--utrecht-blockquote-attribution-font-size, inherit);
356
- }
357
-
358
- .utrecht-blockquote__content, .utrecht-html blockquote {
359
- --utrecht-document-color: var(--utrecht-blockquote-content-color, inherit);
360
- --utrecht-paragraph-font-size: var(--utrecht-blockquote-content-font-size, inherit);
361
- color: var(--utrecht-blockquote-content-color, inherit);
362
- font-size: var(--utrecht-blockquote-content-font-size, inherit);
363
- }
364
-
365
- .utrecht-blockquote--distanced, .utrecht-html blockquote {
366
- margin-block-start: var(--utrecht-blockquote-margin-block-start);
367
- margin-block-end: var(--utrecht-blockquote-margin-block-end);
368
- }
369
-
370
118
  /**
371
119
  * @license EUPL-1.2
372
120
  * Copyright (c) 2021 Robbert Broersma
373
121
  */
374
122
  /**
375
123
  * @license EUPL-1.2
376
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
377
124
  * Copyright (c) 2021 Gemeente Utrecht
125
+ * Copyright (c) 2021 Robbert Broersma
126
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
127
+ */
128
+ /**
129
+ * @license EUPL-1.2
130
+ * Copyright (c) 2021-2022 Frameless B.V.
378
131
  */
379
- .utrecht-button, .utrecht-html button {
380
- color: var(--utrecht-button-primary-action-color);
381
- font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
382
- font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
383
- font-weight: var(--utrecht-button-font-weight);
384
- background-color: var(--utrecht-button-primary-action-background-color);
385
- border-radius: var(--utrecht-button-border-radius);
386
- border-width: var(--utrecht-button-border-width);
387
- letter-spacing: var(--utrecht-button-letter-spacing);
388
- padding-inline-start: var(--utrecht-button-padding-inline-start);
389
- padding-inline-end: var(--utrecht-button-padding-inline-end);
390
- padding-block-start: var(--utrecht-button-padding-block-start);
391
- padding-block-end: var(--utrecht-button-padding-block-end);
392
- text-transform: var(--utrecht-button-text-transform);
393
- }
394
-
395
- .utrecht-button--distanced, .utrecht-html button {
396
- margin-inline-start: var(--utrecht-button-margin-inline-start);
397
- margin-inline-end: var(--utrecht-button-margin-inline-end);
398
- margin-block-start: var(--utrecht-button-margin-block-start);
399
- margin-block-end: var(--utrecht-button-margin-block-end);
400
- }
401
-
402
- .utrecht-button:disabled, .utrecht-html button:disabled,
403
- .utrecht-button--disabled {
404
- color: var(--utrecht-button-disabled-color);
405
- background-color: var(--utrecht-button-disabled-background-color);
406
- }
407
-
408
- .utrecht-button--focus, .utrecht-html button:focus,
409
- .utrecht-button:not(.utrecht-button--disabled):focus {
410
- outline-width: var(--utrecht-focus-outline-width, 0);
411
- outline-style: var(--utrecht-focus-outline-style, solid);
412
- outline-color: var(--utrecht-focus-outline-color, transparent);
413
- color: var(--utrecht-focus-color, inherit);
414
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
415
- outline-offset: 0;
416
- background-color: var(--utrecht-focus-background-color);
417
- }
418
-
419
- .utrecht-button--hover:not(:disabled), .utrecht-html button:not(:disabled):hover,
420
- .utrecht-button:hover:not(:disabled):not(.utrecht-button--disabled) {
421
- color: var(--utrecht-button-primary-action-color);
422
- background-color: var(--utrecht-button-primary-action-hover-background-color);
423
- transform: scale(var(--utrecht-button-focus-transform-scale, 1));
424
- }
425
-
426
132
  /**
427
133
  * @license EUPL-1.2
428
134
  * Copyright (c) 2021 Robbert Broersma
429
135
  */
430
136
  /**
431
137
  * @license EUPL-1.2
138
+ * Copyright (c) 2021 Gemeente Utrecht
432
139
  * Copyright (c) 2021 Robbert Broersma
140
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
141
+ */
142
+ /**
143
+ * @license EUPL-1.2
144
+ * Copyright (c) 2021-2022 Frameless B.V.
433
145
  */
434
- .utrecht-checkbox, .utrecht-html input[type=checkbox] {
435
- /* reset native margin for input[type="checkbox"] */
436
- margin-block-start: 0;
437
- margin-block-end: 0;
438
- margin-inline-start: 0;
439
- margin-inline-end: 0;
440
- }
441
-
442
146
  /**
443
147
  * @license EUPL-1.2
444
148
  * Copyright (c) 2021 Robbert Broersma
445
149
  */
446
150
  /**
447
151
  * @license EUPL-1.2
152
+ * Copyright (c) 2021 Gemeente Utrecht
448
153
  * Copyright (c) 2021 Robbert Broersma
154
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
155
+ */
156
+ /**
157
+ * @license EUPL-1.2
158
+ * Copyright (c) 2021-2022 Frameless B.V.
449
159
  */
450
- .utrecht-emphasis--stressed, .utrecht-html em {
451
- font-style: var(--utrecht-emphasis-stressed-font-style, italic);
452
- }
453
-
454
- .utrecht-emphasis--strong, .utrecht-html strong {
455
- font-weight: var(--utrecht-emphasis-strong-font-weight, bold);
456
- }
457
-
458
160
  /**
459
161
  * @license EUPL-1.2
460
162
  * Copyright (c) 2021 Robbert Broersma
461
163
  */
462
164
  /**
463
165
  * @license EUPL-1.2
166
+ * Copyright (c) 2021 Gemeente Utrecht
464
167
  * Copyright (c) 2021 Robbert Broersma
168
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
169
+ */
170
+ /**
171
+ * @license EUPL-1.2
172
+ * Copyright (c) 2021-2022 Frameless B.V.
465
173
  */
466
- .utrecht-form-fieldset--distanced, .utrecht-html fieldset {
467
- margin-block-start: var(--utrecht-form-fieldset-margin-block-start, 0);
468
- margin-block-end: var(--utrecht-form-fieldset-margin-block-end, 0);
469
- }
470
-
471
- .utrecht-form-fieldset__legend, .utrecht-html legend {
472
- font-family: var(--utrecht-form-fieldset-legend-font-family, var(--utrecht-document-font-family));
473
- font-size: var(--utrecht-form-fieldset-legend-font-size);
474
- font-weight: var(--utrecht-form-fieldset-legend-font-weight);
475
- line-height: var(--utrecht-form-fieldset-legend-line-height);
476
- color: var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit));
477
- }
478
-
479
- .utrecht-form-fieldset__legend--distanced, .utrecht-html legend {
480
- margin-block-start: var(--utrecht-form-fieldset-legend-margin-block-start);
481
- margin-block-end: var(--utrecht-form-fieldset-legend-margin-block-end);
482
- }
483
-
484
- .utrecht-html fieldset {
485
- border: 0;
486
- margin: 0;
487
- min-width: 0;
488
- padding-block-end: 0;
489
- padding-block-start: 0.01em;
490
- padding-inline-end: 0;
491
- padding-inline-start: 0;
492
- }
493
-
494
- .utrecht-html legend {
495
- padding-inline-end: 0;
496
- padding-inline-start: 0;
497
- }
498
-
499
174
  /**
500
175
  * @license EUPL-1.2
501
176
  * Copyright (c) 2021 Robbert Broersma
502
177
  */
503
178
  /**
504
179
  * @license EUPL-1.2
180
+ * Copyright (c) 2021 Gemeente Utrecht
505
181
  * Copyright (c) 2021 Robbert Broersma
182
+ * Copyright (c) 2021 The Knights Who Say NIH! B.V.
183
+ */
184
+ /**
185
+ * @license EUPL-1.2
186
+ * Copyright (c) 2021-2022 Frameless B.V.
506
187
  */
507
- .utrecht-form-label, .utrecht-html label {
508
- font-weight: var(--utrecht-form-label-font-weight);
509
- font-size: var(--utrecht-form-label-font-size);
510
- }
511
-
512
- .utrecht-form-label--checkbox, .utrecht-html input[type=checkbox] ~ label {
513
- font-weight: var(--utrecht-form-label-checkbox-font-weight, var(--utrecht-form-label-font-weight));
514
- }
515
-
516
- .utrecht-form-label--radio, .utrecht-html input[type=radio] ~ label {
517
- font-weight: var(--utrecht-form-label-radio-font-weight, var(--utrecht-form-label-font-weight));
518
- }
519
-
520
188
  /**
521
189
  * @license EUPL-1.2
522
190
  * Copyright (c) 2021 Robbert Broersma
523
191
  */
524
192
  /**
525
193
  * @license EUPL-1.2
526
- * Copyright (c) 2021 Gemeente Utrecht
194
+ * Copyright (c) 2022 Gemeente Utrecht
195
+ * Copyright (c) 2022 Robbert Broersma
196
+ * Copyright (c) 2022 The Knights Who Say NIH! B.V.
197
+ */
198
+ /**
199
+ * @license EUPL-1.2
527
200
  * Copyright (c) 2021 Robbert Broersma
201
+ */
202
+ /**
203
+ * @license EUPL-1.2
528
204
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
205
+ * Copyright (c) 2021 Gemeente Utrecht
529
206
  */
530
- .utrecht-heading-1, .utrecht-html h1 {
531
- font-family: var(--utrecht-heading-1-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
532
- font-size: var(--utrecht-heading-1-font-size);
533
- font-weight: var(--utrecht-heading-1-font-weight, var(--utrecht-heading-font-weight, bold));
534
- letter-spacing: var(--utrecht-heading-1-letter-spacing);
535
- line-height: var(--utrecht-heading-1-line-height);
536
- text-transform: var(--utrecht-heading-1-text-transform, inherit);
537
- color: var(--utrecht-heading-1-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
538
- }
207
+ /* stylelint-disable scss/no-global-function-names */
208
+ /**
209
+ * @license EUPL-1.2
210
+ * Copyright (c) 2021 Gemeente Utrecht
211
+ * Copyright (c) 2021 Robbert Broersma
212
+ */
213
+ /* stylelint-disable-next-line block-no-empty */
214
+ /*
539
215
 
540
- .utrecht-heading-1--distanced, .utrecht-html h1 {
541
- margin-block-start: var(--utrecht-heading-1-margin-block-start);
542
- margin-block-end: var(--utrecht-heading-1-margin-block-end);
543
- }
216
+ # CSS implementation
544
217
 
545
- .utrecht-heading-2, .utrecht-html h2 {
546
- font-family: var(--utrecht-heading-2-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
547
- font-size: var(--utrecht-heading-2-font-size);
548
- font-weight: var(--utrecht-heading-2-font-weight, var(--utrecht-heading-font-weight, bold));
549
- letter-spacing: var(--utrecht-heading-2-letter-spacing);
550
- line-height: var(--utrecht-heading-2-line-height);
551
- text-transform: var(--utrecht-heading-2-text-transform, inherit);
552
- color: var(--utrecht-heading-2-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
553
- }
218
+ ## `text-decoration-skip`
554
219
 
555
- .utrecht-heading-2--distanced, .utrecht-html h2 {
556
- margin-block-start: var(--utrecht-heading-2-margin-block-start);
557
- margin-block-end: var(--utrecht-heading-2-margin-block-end);
558
- }
220
+ `text-decoration-skip` can be helpful to avoid making some texts unreadable.
221
+ For example by obscuring Arabic diacritics.
559
222
 
560
- .utrecht-heading-3, .utrecht-html h3 {
561
- font-family: var(--utrecht-heading-3-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
562
- font-size: var(--utrecht-heading-3-font-size);
563
- font-weight: var(--utrecht-heading-3-font-weight, var(--utrecht-heading-font-weight, bold));
564
- letter-spacing: var(--utrecht-heading-3-letter-spacing);
565
- line-height: var(--utrecht-heading-3-line-height);
566
- text-transform: var(--utrecht-heading-3-text-transform, inherit);
567
- color: var(--utrecht-heading-3-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
568
- }
223
+ However, the combination of a greater thickness and skipping this thick underline
224
+ leads to a very unappealing rendering of the underline. To avoid this,
225
+ `text-decoration-skip` is disabled for interactive states.
569
226
 
570
- .utrecht-heading-3--distanced, .utrecht-html h3 {
571
- margin-block-start: var(--utrecht-heading-3-margin-block-start);
572
- margin-block-end: var(--utrecht-heading-3-margin-block-end);
573
- }
227
+ For design token configurations that have identical thickness for normal and interactive
228
+ states, this will lead to the (undesirable) effect that the focus/hover effect is switching
229
+ from an interrupted to an uninterrupted underline (for some texts).
574
230
 
575
- .utrecht-heading-4, .utrecht-html h4 {
576
- font-family: var(--utrecht-heading-4-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
577
- font-size: var(--utrecht-heading-4-font-size);
578
- font-weight: var(--utrecht-heading-4-font-weight, var(--utrecht-heading-font-weight, bold));
579
- letter-spacing: var(--utrecht-heading-4-letter-spacing);
580
- line-height: var(--utrecht-heading-4-line-height);
581
- text-transform: var(--utrecht-heading-4-text-transform, inherit);
582
- color: var(--utrecht-heading-4-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
583
- }
231
+ Apart from making `skip-ink` configurable for normal/focus/hover, there is no good solution yet.
584
232
 
585
- .utrecht-heading-4--distanced, .utrecht-html h4 {
586
- margin-block-start: var(--utrecht-heading-4-margin-block-start);
587
- margin-block-end: var(--utrecht-heading-4-margin-block-end);
588
- }
233
+ ---
589
234
 
590
- .utrecht-heading-5, .utrecht-html h5 {
591
- font-family: var(--utrecht-heading-5-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
592
- font-size: var(--utrecht-heading-5-font-size);
593
- font-weight: var(--utrecht-heading-5-font-weight, var(--utrecht-heading-font-weight, bold));
594
- letter-spacing: var(--utrecht-heading-5-letter-spacing);
595
- line-height: var(--utrecht-heading-5-line-height);
596
- text-transform: var(--utrecht-heading-5-text-transform, inherit);
597
- color: var(--utrecht-heading-5-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
598
- }
235
+ Disabling `text-decoration-skip` for interactive states obscures some texts, and we assume for now
236
+ that moving the pointer away from a link or having focus elsewhere first is simple enough to
237
+ not make this too inconvenient.
599
238
 
600
- .utrecht-heading-5--distanced, .utrecht-html h5 {
601
- margin-block-start: var(--utrecht-heading-5-margin-block-start);
602
- margin-block-end: var(--utrecht-heading-5-margin-block-end);
603
- }
239
+ ---
604
240
 
605
- .utrecht-heading-6, .utrecht-html h6 {
606
- font-family: var(--utrecht-heading-6-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
607
- font-size: var(--utrecht-heading-6-font-size);
608
- font-weight: var(--utrecht-heading-6-font-weight, var(--utrecht-heading-font-weight, bold));
609
- letter-spacing: var(--utrecht-heading-6-letter-spacing);
610
- line-height: var(--utrecht-heading-6-line-height);
611
- text-transform: var(--utrecht-heading-6-text-transform, inherit);
612
- color: var(--utrecht-heading-6-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
613
- }
241
+ Some folks implement the underline of links using `border-bottom` or even using a finely crafted
242
+ `linear-gradient()` with a solid color at the bottom and transparent behind the text. These approaches
243
+ would unfortunately not be able to provide the improved readability of `text-decoration-skip`.
614
244
 
615
- .utrecht-heading-6--distanced, .utrecht-html h6 {
616
- margin-block-start: var(--utrecht-heading-6-margin-block-start);
617
- margin-block-end: var(--utrecht-heading-6-margin-block-end);
618
- }
245
+ ## `text-decoration-thickness`
619
246
 
620
- /**
621
- * @license EUPL-1.2
622
- * Copyright (c) 2021 Robbert Broersma
623
- */
624
- /**
625
- * @license EUPL-1.2
626
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
627
- * Copyright (c) 2021 Gemeente Utrecht
628
- */
629
- .utrecht-link, .utrecht-html a:link {
630
- text-decoration: var(--utrecht-link-text-decoration, underline);
631
- color: var(--utrecht-link-color, blue);
632
- }
247
+ Varying `text-decoration-thickness` can be used to distinguish interactive states.
633
248
 
634
- .utrecht-link:visited,
635
- .utrecht-link--visited,
636
- .utrecht-html a:visited {
637
- color: var(--utrecht-link-visited-color, var(--utrecht-link-color));
638
- }
249
+ ---
639
250
 
640
- .utrecht-link:hover,
641
- .utrecht-link--hover,
642
- .utrecht-html a:hover {
643
- color: var(--utrecht-link-hover-color, var(--utrecht-link-color));
644
- text-decoration: var(--utrecht-link-hover-text-decoration, var(--utrecht-link-text-decoration, underline));
645
- }
251
+ `text-decoration-thickness` appears to have rendering differences between Chrome and Safari.
252
+ In Safari the line becomes thicker with extra pixels added to the bottom, while in Chrome
253
+ the underline offset also seems to increase along with the thickness, which effectively means
254
+ the underline is closer to the next line than in Safari.
646
255
 
647
- .utrecht-link:active,
648
- .utrecht-link--active,
649
- .utrecht-html a:active {
650
- color: var(--utrecht-link-active-color, var(--utrecht-link-color));
651
- }
256
+ ---
652
257
 
653
- .utrecht-link:focus,
654
- .utrecht-link--focus,
655
- .utrecht-html a:focus {
656
- color: var(--utrecht-link-focus-color, var(--utrecht-link-color));
657
- text-decoration: var(--utrecht-link-focus-text-decoration, var(--utrecht-link-text-decoration, underline));
658
- outline-width: var(--utrecht-focus-outline-width, 0);
659
- outline-style: var(--utrecht-focus-outline-style, solid);
660
- outline-color: var(--utrecht-focus-outline-color, transparent);
661
- color: var(--utrecht-focus-color, inherit);
662
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
663
- outline-offset: 0;
664
- background-color: var(--utrecht-focus-background-color);
665
- }
258
+ It might be nice to use font-relative units for `text-decoration-thickness`, and that is why we
259
+ use the `max()` function to ensure the underline remains visible for every font size.
666
260
 
667
- /* stylelint-disable-next-line block-no-empty */
668
- .utrecht-link--telephone, .utrecht-html a[href^="tel:" i] {
669
- white-space: nowrap;
670
- }
261
+ ## `transition`
671
262
 
263
+ `text-decoration-thickness` could be a candidate for animating between interactive states,
264
+ however browsers don't seem to have implemented great looking supixel tweening yet.
265
+
266
+ `text-decoration-skip` also makes the transition more challenging to implement.
267
+
268
+ */
269
+ /* stylelint-disable-next-line block-no-empty */
270
+ /* stylelint-disable-next-line block-no-empty */
271
+ /* stylelint-disable-next-line block-no-empty */
272
+ /* stylelint-disable-next-line block-no-empty */
273
+ /**
274
+ * Link for elements such as `<img>` or `<article>`, that are not inline elements or plain text.
275
+ *
276
+ * Changing `display: inline` to `inline-block` ensures the focus outline is rendered around the entire box.
277
+ */
672
278
  /**
673
279
  * @license EUPL-1.2
674
280
  * Copyright (c) 2021 Robbert Broersma
@@ -678,20 +284,6 @@
678
284
  * Copyright (c) 2021 Robbert Broersma
679
285
  * Copyright (c) 2021 Gemeente Utrecht
680
286
  */
681
- .utrecht-ordered-list, .utrecht-html ol {
682
- font-family: var(--utrecht-document-font-family, inherit);
683
- }
684
-
685
- .utrecht-ordered-list--distanced, .utrecht-html ol {
686
- margin-block-end: var(--utrecht-ordered-list-margin-block-end);
687
- margin-block-start: var(--utrecht-ordered-list-margin-block-start);
688
- }
689
-
690
- .utrecht-ordered-list__item, .utrecht-html ol > li {
691
- margin-block-end: var(--utrecht-ordered-list-item-margin-block-end);
692
- margin-block-start: var(--utrecht-ordered-list-item-margin-block-start);
693
- }
694
-
695
287
  /**
696
288
  * @license EUPL-1.2
697
289
  * Copyright (c) 2021 Robbert Broersma
@@ -700,25 +292,6 @@
700
292
  * @license EUPL-1.2
701
293
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
702
294
  */
703
- .utrecht-paragraph, .utrecht-html p {
704
- color: var(--utrecht-document-color, inherit);
705
- font-family: var(--utrecht-paragraph-font-family, var(--utrecht-document-font-family, inherit));
706
- font-size: var(--utrecht-paragraph-font-size, var(--utrecht-document-font-size, inherit));
707
- font-weight: var(--utrecht-paragraph-font-weight, inherit);
708
- line-height: var(--utrecht-paragraph-line-height, var(--utrecht-document-line-height, inherit));
709
- }
710
-
711
- .utrecht-paragraph--lead, .utrecht-html p.lead {
712
- font-size: var(--utrecht-paragraph-lead-font-size, inherit);
713
- font-weight: var(--utrecht-paragraph-lead-font-weight, inherit);
714
- line-height: var(--utrecht-paragraph-lead-line-height, inherit);
715
- }
716
-
717
- .utrecht-paragraph--distanced, .utrecht-html * ~ p {
718
- margin-block-start: var(--utrecht-paragraph-margin-block-start);
719
- margin-block-end: var(--utrecht-paragraph-margin-block-end);
720
- }
721
-
722
295
  /**
723
296
  * @license EUPL-1.2
724
297
  * Copyright (c) 2021 Gemeente Utrecht
@@ -727,14 +300,28 @@
727
300
  * @license EUPL-1.2
728
301
  * Copyright (c) 2021 Gemeente Utrecht
729
302
  */
730
- .utrecht-radio-button, .utrecht-html input[type=radio] {
731
- /* reset native margin for input[type="radio"] */
732
- margin-block-start: 0;
733
- margin-block-end: 0;
734
- margin-inline-start: 0;
735
- margin-inline-end: 0;
736
- }
737
-
303
+ /**
304
+ * @license EUPL-1.2
305
+ * Copyright (c) 2021 Gemeente Utrecht
306
+ * Copyright (c) 2021 Robbert Broersma
307
+ */
308
+ /* stylelint-disable-next-line block-no-empty */
309
+ /* stylelint-disable-next-line block-no-empty */
310
+ /**
311
+ * @license EUPL-1.2
312
+ * Copyright (c) 2021 Robbert Broersma
313
+ */
314
+ /**
315
+ * @license EUPL-1.2
316
+ * Copyright (c) 2021 Robbert Broersma
317
+ */
318
+ /**
319
+ * @license EUPL-1.2
320
+ * Copyright (c) 2021 Gemeente Utrecht
321
+ * Copyright (c) 2021 Robbert Broersma
322
+ */
323
+ /* stylelint-disable-next-line block-no-empty */
324
+ /* stylelint-disable-next-line block-no-empty */
738
325
  /**
739
326
  * @license EUPL-1.2
740
327
  * Copyright (c) 2021 Robbert Broersma
@@ -745,14 +332,6 @@
745
332
  * Copyright (c) 2021 Robbert Broersma
746
333
  * Copyright (c) 2021 The Knights Who Say NIH! B.V.
747
334
  */
748
- .utrecht-separator, .utrecht-html hr {
749
- border-style: solid;
750
- border-color: var(--utrecht-separator-color);
751
- border-width: 0 0 var(--utrecht-separator-width) 0;
752
- margin-block-start: var(--utrecht-separator-margin-block-start);
753
- margin-block-end: var(--utrecht-separator-margin-block-end);
754
- }
755
-
756
335
  /**
757
336
  * @license EUPL-1.2
758
337
  * Copyright (c) 2021 Robbert Broersma
@@ -761,88 +340,8 @@
761
340
  * @license EUPL-1.2
762
341
  * Copyright (c) 2021 Robbert Broersma
763
342
  */
764
- .utrecht-table, .utrecht-html table {
765
- border-collapse: collapse;
766
- width: 100%;
767
- }
768
-
769
- .utrecht-table--distanced, .utrecht-html table {
770
- margin-block-end: var(--utrecht-table-margin-block-end);
771
- margin-block-start: var(--utrecht-table-margin-block-start);
772
- }
773
-
774
- .utrecht-table__caption, .utrecht-html caption {
775
- font-weight: var(--utrecht-table-caption-font-weight);
776
- font-family: var(--utrecht-table-caption-font-family);
777
- font-size: var(--utrecht-table-caption-font-size);
778
- color: var(--utrecht-table-caption-color);
779
- line-height: var(--utrecht-table-caption-line-height);
780
- margin-block-end: var(--utrecht-table-caption-margin-block-end);
781
- text-align: var(--utrecht-table-caption-text-align, center);
782
- }
783
-
784
- .utrecht-table__header, .utrecht-html thead {
785
- font-weight: var(--utrecht-table-header-font-weight);
786
- color: var(--utrecht-table-header-color);
787
- text-transform: var(--utrecht-table-header-text-transform);
788
- vertical-align: bottom;
789
- }
790
-
791
- .utrecht-table__cell--last-header-row, .utrecht-html thead tr:last-child th {
792
- border-block-end-style: solid;
793
- border-block-end-color: var(--utrecht-table-header-border-block-end-color, transparent);
794
- border-block-end-width: var(--utrecht-table-header-border-block-end-width, 0);
795
- }
796
-
797
- .utrecht-table__body, .utrecht-html tbody {
798
- vertical-align: baseline;
799
- }
800
-
801
- .utrecht-table__heading, .utrecht-html th {
802
- font-weight: var(--utrecht-table-heading-font-weight);
803
- color: var(--utrecht-table-heading-color);
804
- text-transform: var(--utrecht-table-heading-text-transform);
805
- }
806
-
807
- .utrecht-table__cell, .utrecht-html th,
808
- .utrecht-html td {
809
- border-block-end-style: solid;
810
- border-block-end-color: var(--utrecht-table-row-border-block-end-color, transparent);
811
- border-block-end-width: var(--utrecht-table-row-border-block-end-width, 0);
812
- line-height: var(--utrecht-table-cell-line-height, inherit);
813
- padding-inline-start: var(--utrecht-table-cell-padding-inline-start, 0);
814
- padding-inline-end: var(--utrecht-table-cell-padding-inline-end, 0);
815
- padding-block-start: var(--utrecht-table-cell-padding-block-start, 0);
816
- padding-block-end: var(--utrecht-table-cell-padding-block-end, 0);
817
- text-align: start;
818
- }
819
-
820
- .utrecht-table__cell--first, .utrecht-html td:first-child,
821
- .utrecht-html th:first-child {
822
- padding-inline-start: var(--utrecht-table-row-padding-inline-start, var(--utrecht-table-cell-padding-inline-start, 0));
823
- }
824
-
825
- .utrecht-table__cell--last, .utrecht-html td:last-child,
826
- .utrecht-html th:last-child {
827
- padding-inline-end: var(--utrecht-table-row-padding-inline-end, var(--utrecht-table-cell-padding-inline-end, 0));
828
- }
829
-
830
- .utrecht-table__cell--numeric, .utrecht-html th.numeric,
831
- .utrecht-html td.numeric {
832
- /* stylelint-disable-next-line declaration-property-value-disallowed-list */
833
- text-align: right;
834
- }
835
-
836
- .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 {
837
- background-color: var(--utrecht-table-row-alternate-odd-background-color);
838
- color: var(--utrecht-table-row-alternate-odd-color);
839
- }
840
-
841
- .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 {
842
- background-color: var(--utrecht-table-row-alternate-even-background-color);
843
- color: var(--utrecht-table-row-alternate-even-color);
844
- }
845
-
343
+ /* stylelint-disable-next-line block-no-empty */
344
+ /* stylelint-disable selector-class-pattern */
846
345
  /**
847
346
  * @license EUPL-1.2
848
347
  * Copyright (c) 2021 Robbert Broersma
@@ -851,48 +350,26 @@
851
350
  * @license EUPL-1.2
852
351
  * Copyright (c) 2021 Robbert Broersma
853
352
  */
854
- .utrecht-textarea, .utrecht-html textarea {
855
- border-width: var(--utrecht-textarea-border-width);
856
- border-bottom-width: var(--utrecht-textarea-border-bottom-width, var(--utrecht-textarea-border-width));
857
- border-color: var(--utrecht-textarea-border-color);
858
- border-radius: var(--utrecht-textarea-border-radius, 0);
859
- border-style: solid;
860
- color: var(--utrecht-textarea-color);
861
- font-family: var(--utrecht-textarea-font-family);
862
- font-size: var(--utrecht-textarea-font-size, 1em);
863
- max-width: var(--utrecht-textarea-max-width);
864
- padding-block-end: var(--utrecht-textarea-padding-block-end);
865
- padding-block-start: var(--utrecht-textarea-padding-block-start);
866
- padding-inline-end: var(--utrecht-textarea-padding-inline-end);
867
- padding-inline-start: var(--utrecht-textarea-padding-inline-start);
868
- width: 100%;
869
- }
870
-
871
- .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] {
872
- border-color: var(--utrecht-textarea-invalid-border-color);
873
- border-width: var(--utrecht-textarea-invalid-border-width);
874
- }
875
-
876
- .utrecht-textarea--disabled, .utrecht-textarea--html-textarea:disabled, .utrecht-html textarea:disabled {
877
- border-color: var(--utrecht-textarea-disabled-border-color);
878
- color: var(--utrecht-textarea-disabled-color);
879
- }
880
-
881
- .utrecht-textarea--focus, .utrecht-textarea--html-textarea:focus, .utrecht-html textarea:focus {
882
- outline-width: var(--utrecht-focus-outline-width, 0);
883
- outline-style: var(--utrecht-focus-outline-style, solid);
884
- outline-color: var(--utrecht-focus-outline-color, transparent);
885
- color: var(--utrecht-focus-color, inherit);
886
- box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
887
- outline-offset: 0;
888
- background-color: var(--utrecht-focus-background-color);
889
- }
890
-
891
- .utrecht-textarea--read-only, .utrecht-textarea--html-textarea:read-only, .utrecht-html textarea:read-only {
892
- border-color: var(--utrecht-textarea-read-only-border-color);
893
- color: var(--utrecht-textarea-read-only-color);
894
- }
895
-
353
+ /**
354
+ * @license EUPL-1.2
355
+ * Copyright (c) 2021 Gemeente Utrecht
356
+ * Copyright (c) 2021 Robbert Broersma
357
+ */
358
+ /* stylelint-disable-next-line block-no-empty */
359
+ /**
360
+ * @license EUPL-1.2
361
+ * Copyright (c) 2021 Robbert Broersma
362
+ */
363
+ /**
364
+ * @license EUPL-1.2
365
+ * Copyright (c) 2021 Robbert Broersma
366
+ */
367
+ /**
368
+ * @license EUPL-1.2
369
+ * Copyright (c) 2021 Gemeente Utrecht
370
+ * Copyright (c) 2021 Robbert Broersma
371
+ */
372
+ /* stylelint-disable-next-line block-no-empty */
896
373
  /**
897
374
  * @license EUPL-1.2
898
375
  * Copyright (c) 2021 Robbert Broersma
@@ -900,497 +377,998 @@
900
377
  /**
901
378
  * @license EUPL-1.2
902
379
  * Copyright (c) 2021 Robbert Broersma
380
+ * Copyright (c) 2021 Gemeente Utrecht
903
381
  */
904
- .utrecht-textbox, .utrecht-html input[type=text],
905
- .utrecht-html input[type=email],
906
- .utrecht-html input[type=search],
907
- .utrecht-html input[type=tel],
908
- .utrecht-html input[type=url] {
909
- border-width: var(--utrecht-textbox-border-width);
910
- border-bottom-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width));
911
- border-color: var(--utrecht-textbox-border-color);
912
- border-radius: var(--utrecht-textbox-border-radius, 0);
382
+ /* Collection of all semantic HTML styles in the component library */
383
+ .utrecht-html {
384
+ /* override the `:focus` selector above */
385
+ /* stylelint-disable-next-line no-descending-specificity */
386
+ /* stylelint-disable selector-class-pattern */
387
+ --utrecht-space-around: 1;
388
+ }
389
+ .utrecht-html article {
390
+ max-inline-size: var(--utrecht-article-max-inline-size);
391
+ }
392
+ .utrecht-html blockquote {
393
+ background-color: var(--utrecht-blockquote-background-color);
394
+ color: var(--utrecht-blockquote-color);
395
+ font-family: var(--utrecht-document-font-family);
396
+ font-size: var(--utrecht-blockquote-font-size);
397
+ font-style: var(--utrecht-blockquote-font-style);
398
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-blockquote-margin-block-end, 0));
399
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-blockquote-margin-block-start, 0));
400
+ margin-inline-end: var(--utrecht-blockquote-margin-inline-end);
401
+ margin-inline-start: var(--utrecht-blockquote-margin-inline-start);
402
+ padding-block-end: var(--utrecht-blockquote-padding-block-end);
403
+ padding-block-start: var(--utrecht-blockquote-padding-block-start);
404
+ padding-inline-end: var(--utrecht-blockquote-padding-inline-end);
405
+ padding-inline-start: var(--utrecht-blockquote-padding-inline-start);
406
+ --utrecht-document-color: var(--utrecht-blockquote-content-color, inherit);
407
+ --utrecht-paragraph-font-size: var(--utrecht-blockquote-content-font-size, inherit);
408
+ color: var(--utrecht-blockquote-content-color, inherit);
409
+ font-size: var(--utrecht-blockquote-content-font-size, inherit);
410
+ --utrecht-space-around: 1;
411
+ }
412
+ .utrecht-html input[type=button i],
413
+ .utrecht-html input[type=reset i],
414
+ .utrecht-html input[type=submit i],
415
+ .utrecht-html button {
416
+ /*
417
+ `--_utrecht-button-hint` is the internal prefix for the applied optional hint, it is not an API.
418
+ The hint color takes priority over the appearance color.
419
+
420
+ `--_utrecht-button-appearance` is the internal prefix for the appearance
421
+ (primary-action, secondary-action or subtle), it is not an API.
422
+ */
423
+ --_utrecht-button-background-color: var(
424
+ --_utrecht-button-hint-background-color,
425
+ var(--_utrecht-button-appearance-background-color, var(--utrecht-button-background-color))
426
+ );
427
+ --_utrecht-button-color: var(
428
+ --_utrecht-button-hint-color,
429
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-color))
430
+ );
431
+ --_utrecht-button-border-color: var(
432
+ --_utrecht-button-hint-border-color,
433
+ var(--_utrecht-button-appearance-border-color, var(--utrecht-button-border-color, transparent))
434
+ );
435
+ --_utrecht-button-border-bottom-color: var(
436
+ --_utrecht-button-hint-border-bottom-color,
437
+ var(
438
+ --_utrecht-button-hint-border-color,
439
+ var(
440
+ --_utrecht-button-appearance-border-bottom-color,
441
+ var(
442
+ --_utrecht-button-appearance-border-color,
443
+ var(--utrecht-button-border-bottom-color, var(--utrecht-button-border-color, transparent))
444
+ )
445
+ )
446
+ )
447
+ );
448
+ --_utrecht-button-disabled-background-color: var(
449
+ --_utrecht-button-hint-disabled-background-color,
450
+ var(
451
+ --_utrecht-button-appearance-disabled-background-color,
452
+ var(--utrecht-button-disabled-background-color, var(--utrecht-button-background-color))
453
+ )
454
+ );
455
+ --_utrecht-button-disabled-border-color: var(
456
+ --_utrecht-button-hint-disabled-border-color,
457
+ var(
458
+ --_utrecht-button-appearance-disabled-border-color,
459
+ var(--utrecht-button-disabled-border-color, var(--utrecht-button-border-color))
460
+ )
461
+ );
462
+ --_utrecht-button-disabled-color: var(
463
+ --utrecht-hint-button-disabled-color,
464
+ var(
465
+ --utrecht-button-appearance-button-disabled-color,
466
+ var(--utrecht-button-disabled-color, var(--utrecht-button-color))
467
+ )
468
+ );
469
+ --_utrecht-button-focus-background-color: var(
470
+ --_utrecht-button-hint-focus-background-color,
471
+ var(
472
+ --_utrecht-button-hint-background-color,
473
+ var(
474
+ --_utrecht-button-appearance-focus-background-color,
475
+ var(
476
+ --_utrecht-button-appearance-background-color,
477
+ var(--utrecht-button-focus-background-color, var(--utrecht-button-background-color))
478
+ )
479
+ )
480
+ )
481
+ );
482
+ --_utrecht-button-focus-border-color: var(
483
+ --_utrecht-button-hint-focus-border-color,
484
+ var(
485
+ --_utrecht-button-hint-border-color,
486
+ var(
487
+ --_utrecht-button-appearance-focus-border-color,
488
+ var(
489
+ --_utrecht-button-appearance-border-color,
490
+ var(--utrecht-button-focus-border-color, var(--utrecht-button-border-color))
491
+ )
492
+ )
493
+ )
494
+ );
495
+ --_utrecht-button-focus-color: var(
496
+ --_utrecht-button-hint-focus-color,
497
+ var(
498
+ --_utrecht-button-hint-color,
499
+ var(
500
+ --_utrecht-button-appearance-focus-color,
501
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-focus-color, var(--utrecht-button-color)))
502
+ )
503
+ )
504
+ );
505
+ --_utrecht-button-hover-background-color: var(
506
+ --_utrecht-button-hint-hover-background-color,
507
+ var(
508
+ --_utrecht-button-hint-background-color,
509
+ var(
510
+ --_utrecht-button-appearance-hover-background-color,
511
+ var(
512
+ --_utrecht-button-appearance-background-color,
513
+ var(--utrecht-button-hover-background-color, var(--utrecht-button-background-color))
514
+ )
515
+ )
516
+ )
517
+ );
518
+ --_utrecht-button-hover-border-color: var(
519
+ --_utrecht-button-hint-hover-border-color,
520
+ var(
521
+ --_utrecht-button-hint-border-color,
522
+ var(
523
+ --_utrecht-button-appearance-hover-border-color,
524
+ var(
525
+ --_utrecht-button-appearance-border-color,
526
+ var(--utrecht-button-hover-border-color, var(--utrecht-button-border-color))
527
+ )
528
+ )
529
+ )
530
+ );
531
+ --_utrecht-button-hover-color: var(
532
+ --_utrecht-button-hint-hover-color,
533
+ var(
534
+ --_utrecht-button-hint-color,
535
+ var(
536
+ --_utrecht-button-appearance-hover-color,
537
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-hover-color, var(--utrecht-button-color)))
538
+ )
539
+ )
540
+ );
541
+ --_utrecht-button-active-background-color: var(
542
+ --_utrecht-button-hint-active-background-color,
543
+ var(
544
+ --_utrecht-button-hint-background-color,
545
+ var(
546
+ --_utrecht-button-appearance-active-background-color,
547
+ var(
548
+ --_utrecht-button-appearance-background-color,
549
+ var(--utrecht-button-active-background-color, var(--utrecht-button-background-color))
550
+ )
551
+ )
552
+ )
553
+ );
554
+ --_utrecht-button-active-border-color: var(
555
+ --_utrecht-button-hint-active-border-color,
556
+ var(
557
+ --_utrecht-button-hint-border-color,
558
+ var(
559
+ --_utrecht-button-appearance-active-border-color,
560
+ var(
561
+ --_utrecht-button-appearance-border-color,
562
+ var(--utrecht-button-active-border-color, var(--utrecht-button-border-color))
563
+ )
564
+ )
565
+ )
566
+ );
567
+ --_utrecht-button-active-color: var(
568
+ --_utrecht-button-hint-active-color,
569
+ var(
570
+ --_utrecht-button-hint-color,
571
+ var(
572
+ --_utrecht-button-appearance-active-color,
573
+ var(--_utrecht-button-appearance-color, var(--utrecht-button-active-color, var(--utrecht-button-color)))
574
+ )
575
+ )
576
+ );
577
+ --_utrecht-button-border-width: var(--_utrecht-button-appearance-border-width, var(--utrecht-button-border-width, 0));
578
+ --_utrecht-button-border-bottom-width: var(
579
+ --utrecht-button-border-bottom-width,
580
+ var(--_utrecht-button-border-width, 0)
581
+ );
582
+ --utrecht-icon-size: var(--utrecht-button-icon-size, 1em);
583
+ align-items: center;
584
+ background-color: var(--_utrecht-button-background-color);
585
+ border-color: var(--_utrecht-button-border-color);
586
+ border-bottom-color: var(--_utrecht-button-border-bottom-color);
587
+ border-radius: var(--utrecht-button-border-radius);
913
588
  border-style: solid;
914
- color: var(--utrecht-textbox-color);
915
- font-family: var(--utrecht-textbox-font-family);
916
- font-size: var(--utrecht-textbox-font-size, 1em);
917
- max-width: var(--utrecht-textbox-max-width);
918
- padding-block-end: var(--utrecht-textbox-padding-block-end);
919
- padding-block-start: var(--utrecht-textbox-padding-block-start);
920
- padding-inline-end: var(--utrecht-textbox-padding-inline-end);
921
- padding-inline-start: var(--utrecht-textbox-padding-inline-start);
589
+ border-width: var(--_utrecht-button-border-width);
590
+ border-bottom-width: var(--_utrecht-button-border-bottom-width);
922
591
  box-sizing: border-box;
923
- width: 100%;
592
+ color: var(--_utrecht-button-color);
593
+ display: inline-flex;
594
+ font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
595
+ font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
596
+ font-weight: var(--_utrecht-button-appearance-font-weight, var(--utrecht-button-font-weight));
597
+ gap: var(--utrecht-button-icon-gap);
598
+ inline-size: var(--utrecht-button-inline-size, auto);
599
+ justify-content: center;
600
+ letter-spacing: var(--utrecht-button-letter-spacing);
601
+ line-height: var(--utrecht-button-line-height);
602
+ min-block-size: var(--utrecht-button-min-block-size, 44px);
603
+ min-inline-size: var(--utrecht-button-min-inline-size, 44px);
604
+ padding-block-end: var(--utrecht-button-padding-block-end);
605
+ padding-block-start: var(--utrecht-button-padding-block-start);
606
+ padding-inline-end: var(--utrecht-button-padding-inline-end);
607
+ padding-inline-start: var(--utrecht-button-padding-inline-start);
608
+ text-transform: var(--utrecht-button-text-transform);
609
+ user-select: none;
610
+ margin-block-end: var(--utrecht-button-margin-block-end);
611
+ margin-block-start: var(--utrecht-button-margin-block-start);
612
+ margin-inline-end: var(--utrecht-button-margin-inline-end);
613
+ margin-inline-start: var(--utrecht-button-margin-inline-start);
924
614
  }
925
-
926
- .utrecht-textbox--invalid, .utrecht-textbox--html-input:invalid, .utrecht-html input[type=text]:invalid,
927
- .utrecht-html input[type=email]:invalid,
928
- .utrecht-html input[type=search]:invalid,
929
- .utrecht-html input[type=tel]:invalid,
930
- .utrecht-html input[type=url]:invalid, .utrecht-textbox--html-input[aria-invalid=true], .utrecht-html input[aria-invalid=true][type=text],
931
- .utrecht-html input[aria-invalid=true][type=email],
932
- .utrecht-html input[aria-invalid=true][type=search],
933
- .utrecht-html input[aria-invalid=true][type=tel],
934
- .utrecht-html input[aria-invalid=true][type=url] {
935
- border-color: var(--utrecht-textbox-invalid-border-color);
936
- border-width: var(--utrecht-textbox-invalid-border-width);
615
+ .utrecht-html button[type=submit i],
616
+ .utrecht-html input[type=submit i] {
617
+ cursor: var(--utrecht-action-submit-cursor);
618
+ }
619
+ .utrecht-html button:disabled,
620
+ .utrecht-html button[aria-disabled=true] {
621
+ background-color: var(--_utrecht-button-disabled-background-color);
622
+ border-color: var(--_utrecht-button-disabled-border-color);
623
+ color: var(--_utrecht-button-disabled-color);
624
+ cursor: var(--utrecht-action-disabled-cursor);
625
+ }
626
+ .utrecht-html button[aria-busy=true],
627
+ .utrecht-html button[aria-disabled=true][aria-busy=true],
628
+ .utrecht-html button:disabled[aria-busy=true] {
629
+ cursor: var(--utrecht-action-busy-cursor);
630
+ }
631
+ .utrecht-html button:active:not([aria-disabled=true]):not(:disabled) {
632
+ background-color: var(--_utrecht-button-active-background-color);
633
+ border-color: var(--_utrecht-button-active-border-color);
634
+ color: var(--_utrecht-button-active-color);
635
+ }
636
+ .utrecht-html button:hover:not([aria-disabled=true]):not(:disabled) {
637
+ background-color: var(--_utrecht-button-hover-background-color);
638
+ border-color: var(--_utrecht-button-hover-border-color);
639
+ color: var(--_utrecht-button-hover-color);
640
+ transform: scale(var(--utrecht-button-focus-transform-scale, 1));
937
641
  }
938
-
939
- .utrecht-textbox--disabled, .utrecht-textbox--html-input:disabled, .utrecht-html input[type=text]:disabled,
940
- .utrecht-html input[type=email]:disabled,
941
- .utrecht-html input[type=search]:disabled,
942
- .utrecht-html input[type=tel]:disabled,
943
- .utrecht-html input[type=url]:disabled {
944
- border-color: var(--utrecht-textbox-disabled-border-color);
945
- color: var(--utrecht-textbox-disabled-color);
642
+ .utrecht-html button:focus:not([aria-disabled=true]):not(:disabled) {
643
+ background-color: var(--_utrecht-button-focus-background-color);
644
+ border-color: var(--_utrecht-button-focus-border-color);
645
+ color: var(--_utrecht-button-focus-color);
946
646
  }
947
-
948
- .utrecht-textbox--focus, .utrecht-textbox--html-input:focus, .utrecht-html input[type=text]:focus,
949
- .utrecht-html input[type=email]:focus,
950
- .utrecht-html input[type=search]:focus,
951
- .utrecht-html input[type=tel]:focus,
952
- .utrecht-html input[type=url]:focus {
953
- outline-width: var(--utrecht-focus-outline-width, 0);
954
- outline-style: var(--utrecht-focus-outline-style, solid);
647
+ .utrecht-html button:focus-visible {
648
+ /* the pseudo-class for `:focus-visible` is implemented via the mixin */
649
+ box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
955
650
  outline-color: var(--utrecht-focus-outline-color, transparent);
956
- color: var(--utrecht-focus-color, inherit);
651
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
652
+ outline-style: var(--utrecht-focus-outline-style, solid);
653
+ outline-width: var(--utrecht-focus-outline-width, 0);
654
+ }
655
+ .utrecht-html input[type=checkbox i] {
656
+ margin-block-end: 0; /* reset native margin for input[type="checkbox"] */
657
+ margin-block-start: 0;
658
+ margin-inline-end: 0;
659
+ margin-inline-start: 0;
660
+ }
661
+ .utrecht-html input[type=checkbox i]:disabled {
662
+ cursor: var(--utrecht-action-disabled-cursor);
663
+ }
664
+ .utrecht-html input[type=checkbox i]:focus {
957
665
  box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
958
- outline-offset: 0;
959
- background-color: var(--utrecht-focus-background-color);
666
+ outline-color: var(--utrecht-focus-outline-color, transparent);
667
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
668
+ outline-style: var(--utrecht-focus-outline-style, solid);
669
+ outline-width: var(--utrecht-focus-outline-width, 0);
670
+ }
671
+ .utrecht-html input[type=checkbox i]:focus:not(:focus-visible) {
672
+ /* undo focus ring */
673
+ box-shadow: none;
674
+ outline-style: none;
675
+ }
676
+ .utrecht-html body {
677
+ /* reset `font-smoothing: antialiasing`, prefer automatic (`subpixel-antialiasing`) behavior for high-dpi screens */
678
+ color: var(--utrecht-document-color, inherit);
679
+ font-family: var(--utrecht-document-font-family, inherit);
680
+ font-size: var(--utrecht-document-font-size, inherit);
681
+ font-weight: var(--utrecht-document-font-weight, inherit);
682
+ line-height: var(--utrecht-document-line-height, inherit);
683
+ text-rendering: optimizeLegibility;
684
+ background-color: var(--utrecht-document-background-color, inherit);
685
+ }
686
+ .utrecht-html body :lang(ar) {
687
+ /* `letter-spacing` design tokens break Arabic text rendering, avoid that */
688
+ letter-spacing: 0 !important;
689
+ }
690
+ .utrecht-html em {
691
+ font-style: var(--utrecht-emphasis-stressed-font-style, italic);
692
+ }
693
+ .utrecht-html strong {
694
+ font-weight: var(--utrecht-emphasis-strong-font-weight, bold);
695
+ }
696
+ .utrecht-html fieldset {
697
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-margin-block-end, 0));
698
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-margin-block-start, 0));
699
+ border: 0;
700
+ margin-inline-end: 0;
701
+ margin-inline-start: 0;
702
+ min-width: 0;
703
+ padding-block-end: 0;
704
+ padding-block-start: 0.01em;
705
+ padding-inline-end: 0;
706
+ padding-inline-start: 0;
707
+ --utrecht-space-around: 1;
708
+ }
709
+ .utrecht-html figure {
710
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-figure-margin-block-end, 0));
711
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-figure-margin-block-start, 0));
712
+ }
713
+ .utrecht-html figcaption {
714
+ color: var(--utrecht-figure-caption-color);
715
+ font-size: var(--utrecht-figure-caption-font-size);
716
+ line-height: var(--utrecht-figure-caption-line-height);
717
+ }
718
+ .utrecht-html legend {
719
+ color: var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit));
720
+ font-family: var(--utrecht-form-fieldset-legend-font-family, var(--utrecht-document-font-family));
721
+ font-size: var(--utrecht-form-fieldset-legend-font-size);
722
+ font-weight: var(--utrecht-form-fieldset-legend-font-weight);
723
+ line-height: var(--utrecht-form-fieldset-legend-line-height);
724
+ page-break-after: avoid;
725
+ page-break-inside: avoid;
726
+ text-transform: var(--utrecht-form-fieldset-legend-text-transform);
727
+ inline-size: 100%;
728
+ padding-inline-end: 0;
729
+ padding-inline-start: 0;
730
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-legend-margin-block-end, 0));
731
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-legend-margin-block-start, 0));
732
+ }
733
+ .utrecht-html fieldset:disabled > legend {
734
+ color: var(--utrecht-form-fieldset-legend-disabled-color, var(--utrecht-form-fieldset-legend-color, var(--utrecht-document-color, inherit)));
735
+ }
736
+ .utrecht-html label {
737
+ color: var(--utrecht-form-label-color);
738
+ font-size: var(--utrecht-form-label-font-size);
739
+ font-weight: var(--utrecht-form-label-font-weight);
740
+ }
741
+ .utrecht-html input[type=checkbox i] ~ label {
742
+ color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
743
+ font-weight: var(--utrecht-form-label-checkbox-font-weight, var(--utrecht-form-label-font-weight));
744
+ }
745
+ .utrecht-html input[type=radio i] ~ label {
746
+ color: var(--utrecht-form-label-checkbox-color, var(--utrecht-form-label-color));
747
+ font-weight: var(--utrecht-form-label-radio-font-weight, var(--utrecht-form-label-font-weight));
748
+ }
749
+ .utrecht-html h1 {
750
+ page-break-after: avoid;
751
+ page-break-inside: avoid;
752
+ color: var(--utrecht-heading-1-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
753
+ font-family: var(--utrecht-heading-1-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
754
+ font-size: var(--utrecht-heading-1-font-size, revert);
755
+ font-weight: var(--utrecht-heading-1-font-weight, var(--utrecht-heading-font-weight, bold));
756
+ letter-spacing: var(--utrecht-heading-1-letter-spacing);
757
+ line-height: var(--utrecht-heading-1-line-height);
758
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-1-margin-block-end, 0));
759
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-1-margin-block-start, 0));
760
+ page-break-after: avoid;
761
+ text-transform: var(--utrecht-heading-1-text-transform, inherit);
762
+ --utrecht-space-around: 1;
763
+ }
764
+ .utrecht-html h2 {
765
+ page-break-after: avoid;
766
+ page-break-inside: avoid;
767
+ color: var(--utrecht-heading-2-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
768
+ font-family: var(--utrecht-heading-2-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
769
+ font-size: var(--utrecht-heading-2-font-size, revert);
770
+ font-weight: var(--utrecht-heading-2-font-weight, var(--utrecht-heading-font-weight, bold));
771
+ letter-spacing: var(--utrecht-heading-2-letter-spacing);
772
+ line-height: var(--utrecht-heading-2-line-height);
773
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-2-margin-block-end, 0));
774
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-2-margin-block-start, 0));
775
+ page-break-after: avoid;
776
+ text-transform: var(--utrecht-heading-2-text-transform, inherit);
777
+ --utrecht-space-around: 1;
960
778
  }
961
-
962
- .utrecht-textbox--read-only, .utrecht-textbox--html-input:read-only, .utrecht-html input[type=text]:read-only,
963
- .utrecht-html input[type=email]:read-only,
964
- .utrecht-html input[type=search]:read-only,
965
- .utrecht-html input[type=tel]:read-only,
966
- .utrecht-html input[type=url]:read-only {
967
- border-color: var(--utrecht-textbox-read-only-border-color);
968
- color: var(--utrecht-textbox-read-only-color);
779
+ .utrecht-html h3 {
780
+ page-break-after: avoid;
781
+ page-break-inside: avoid;
782
+ color: var(--utrecht-heading-3-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
783
+ font-family: var(--utrecht-heading-3-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
784
+ font-size: var(--utrecht-heading-3-font-size, revert);
785
+ font-weight: var(--utrecht-heading-3-font-weight, var(--utrecht-heading-font-weight, bold));
786
+ letter-spacing: var(--utrecht-heading-3-letter-spacing);
787
+ line-height: var(--utrecht-heading-3-line-height);
788
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-3-margin-block-end, 0));
789
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-3-margin-block-start, 0));
790
+ page-break-after: avoid;
791
+ text-transform: var(--utrecht-heading-3-text-transform, inherit);
792
+ --utrecht-space-around: 1;
969
793
  }
970
-
971
- /**
972
- * @license EUPL-1.2
973
- * Copyright (c) 2021 Robbert Broersma
974
- */
975
- /**
976
- * @license EUPL-1.2
977
- * Copyright (c) 2021 Robbert Broersma
978
- * Copyright (c) 2021 Gemeente Utrecht
979
- */
980
- .utrecht-unordered-list, .utrecht-html ul {
981
- font-family: var(--utrecht-document-font-family, inherit);
982
- font-size: var(--utrecht-document-font-size, inherit);
983
- line-height: var(--utrecht-document-line-height, inherit);
984
- padding-inline-start: 2ch;
794
+ .utrecht-html h4 {
795
+ page-break-after: avoid;
796
+ page-break-inside: avoid;
797
+ color: var(--utrecht-heading-4-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
798
+ font-family: var(--utrecht-heading-4-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
799
+ font-size: var(--utrecht-heading-4-font-size, revert);
800
+ font-weight: var(--utrecht-heading-4-font-weight, var(--utrecht-heading-font-weight, bold));
801
+ letter-spacing: var(--utrecht-heading-4-letter-spacing);
802
+ line-height: var(--utrecht-heading-4-line-height);
803
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-4-margin-block-end, 0));
804
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-4-margin-block-start, 0));
805
+ page-break-after: avoid;
806
+ text-transform: var(--utrecht-heading-4-text-transform, inherit);
807
+ --utrecht-space-around: 1;
985
808
  }
986
-
987
- .utrecht-unordered-list--distanced, .utrecht-html ul {
988
- margin-block-start: var(--utrecht-unordered-list-margin-block-start, var(--utrecht-paragraph-margin-block-start));
989
- margin-block-end: var(--utrecht-unordered-list-margin-block-end, var(--utrecht-paragraph-margin-block-end));
809
+ .utrecht-html h5 {
810
+ page-break-after: avoid;
811
+ page-break-inside: avoid;
812
+ color: var(--utrecht-heading-5-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
813
+ font-family: var(--utrecht-heading-5-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
814
+ font-size: var(--utrecht-heading-5-font-size, revert);
815
+ font-weight: var(--utrecht-heading-5-font-weight, var(--utrecht-heading-font-weight, bold));
816
+ letter-spacing: var(--utrecht-heading-5-letter-spacing);
817
+ line-height: var(--utrecht-heading-5-line-height);
818
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-5-margin-block-end, 0));
819
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-5-margin-block-start, 0));
820
+ page-break-after: avoid;
821
+ text-transform: var(--utrecht-heading-5-text-transform, inherit);
822
+ --utrecht-space-around: 1;
990
823
  }
991
-
992
- .utrecht-unordered-list--nested {
993
- margin-inline-start: 2ch;
994
- margin-block-end: 0;
824
+ .utrecht-html h6 {
825
+ page-break-after: avoid;
826
+ page-break-inside: avoid;
827
+ color: var(--utrecht-heading-6-color, var(--utrecht-heading-color, var(--utrecht-document-color, inherit)));
828
+ font-family: var(--utrecht-heading-6-font-family, var(--utrecht-heading-font-family, var(--utrecht-document-font-family)));
829
+ font-size: var(--utrecht-heading-6-font-size, revert);
830
+ font-weight: var(--utrecht-heading-6-font-weight, var(--utrecht-heading-font-weight, bold));
831
+ letter-spacing: var(--utrecht-heading-6-letter-spacing);
832
+ line-height: var(--utrecht-heading-6-line-height);
833
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-6-margin-block-end, 0));
834
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-6-margin-block-start, 0));
835
+ page-break-after: avoid;
836
+ text-transform: var(--utrecht-heading-6-text-transform, inherit);
837
+ --utrecht-space-around: 1;
995
838
  }
996
-
997
- .utrecht-unordered-list__item, .utrecht-html ul > li {
998
- padding-inline-start: 1ch;
999
- margin-block-start: var(--utrecht-unordered-list-item-margin-block-start);
1000
- margin-block-end: var(--utrecht-unordered-list-item-margin-block-end);
839
+ .utrecht-html hgroup {
840
+ --utrecht-pre-heading-order: -1;
841
+ display: flex;
842
+ flex-direction: column;
843
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-group-margin-block-end, 0));
844
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-heading-group-margin-block-start, 0));
845
+ --utrecht-space-around: 1;
1001
846
  }
1002
-
1003
- .utrecht-unordered-list__item::marker, .utrecht-html ul > li::marker,
1004
- .utrecht-unordered-list__marker {
1005
- color: var(--utrecht-unordered-list-marker-color);
1006
- content: "●";
847
+ .utrecht-html hgroup > * {
848
+ --utrecht-space-around: 0;
1007
849
  }
1008
-
1009
- /**
1010
- * @license EUPL-1.2
1011
- * Copyright (c) 2021 Robbert Broersma
1012
- */
1013
- /**
1014
- * @license EUPL-1.2
1015
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
1016
- * Copyright (c) 2021 Gemeente Utrecht
1017
- */
1018
- .utrecht-link, .utrecht-html a:link {
1019
- text-decoration: var(--utrecht-link-text-decoration, underline);
850
+ .utrecht-html a:link {
851
+ --utrecht-icon-size: var(--utrecht-link-icon-size, 1em);
1020
852
  color: var(--utrecht-link-color, blue);
853
+ text-decoration: var(--utrecht-link-text-decoration, underline);
854
+ text-decoration-skip-ink: all;
855
+ text-decoration-thickness: max(var(--utrecht-link-text-decoration-thickness), 1px);
856
+ text-underline-offset: var(--utrecht-link-text-underline-offset);
1021
857
  }
1022
-
1023
- .utrecht-link:visited,
1024
- .utrecht-link--visited,
1025
858
  .utrecht-html a:visited {
1026
859
  color: var(--utrecht-link-visited-color, var(--utrecht-link-color));
1027
860
  }
1028
-
1029
- .utrecht-link:hover,
1030
- .utrecht-link--hover,
1031
861
  .utrecht-html a:hover {
1032
862
  color: var(--utrecht-link-hover-color, var(--utrecht-link-color));
1033
863
  text-decoration: var(--utrecht-link-hover-text-decoration, var(--utrecht-link-text-decoration, underline));
864
+ text-decoration-skip: none;
865
+ text-decoration-skip-ink: none;
866
+ text-decoration-thickness: max(var(--utrecht-link-hover-text-decoration-thickness, var(--utrecht-link-text-decoration-thickness)), 1px);
1034
867
  }
1035
-
1036
- .utrecht-link:active,
1037
- .utrecht-link--active,
1038
868
  .utrecht-html a:active {
1039
869
  color: var(--utrecht-link-active-color, var(--utrecht-link-color));
1040
870
  }
1041
-
1042
- .utrecht-link:focus,
1043
- .utrecht-link--focus,
1044
871
  .utrecht-html a:focus {
872
+ background-color: var(--utrecht-link-focus-background-color, transparent);
1045
873
  color: var(--utrecht-link-focus-color, var(--utrecht-link-color));
1046
874
  text-decoration: var(--utrecht-link-focus-text-decoration, var(--utrecht-link-text-decoration, underline));
1047
- outline-width: var(--utrecht-focus-outline-width, 0);
1048
- outline-style: var(--utrecht-focus-outline-style, solid);
1049
- outline-color: var(--utrecht-focus-outline-color, transparent);
1050
- color: var(--utrecht-focus-color, inherit);
875
+ text-decoration-skip: none;
876
+ text-decoration-skip-ink: none;
877
+ text-decoration-thickness: max(var(--utrecht-link-focus-text-decoration-thickness, var(--utrecht-link-text-decoration-thickness)), 1px);
1051
878
  box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1052
- outline-offset: 0;
1053
- background-color: var(--utrecht-focus-background-color);
879
+ outline-color: var(--utrecht-focus-outline-color, transparent);
880
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
881
+ outline-style: var(--utrecht-focus-outline-style, solid);
882
+ outline-width: var(--utrecht-focus-outline-width, 0);
1054
883
  }
1055
-
1056
- /* stylelint-disable-next-line block-no-empty */
1057
- .utrecht-link--telephone, .utrecht-html a[href^="tel:" i] {
884
+ .utrecht-html a:focus:not(:focus-visible) {
885
+ /* undo focus ring */
886
+ box-shadow: none;
887
+ outline-style: none;
888
+ }
889
+ .utrecht-html a[href^="tel:" i] {
1058
890
  white-space: nowrap;
1059
891
  }
1060
-
1061
- /**
1062
- * @license EUPL-1.2
1063
- * Copyright (c) 2021 Robbert Broersma
1064
- */
1065
- /**
1066
- * @license EUPL-1.2
1067
- * Copyright (c) 2021 Robbert Broersma
1068
- * Copyright (c) 2021 Gemeente Utrecht
1069
- */
1070
- .utrecht-ordered-list, .utrecht-html ol {
892
+ .utrecht-html ol {
1071
893
  font-family: var(--utrecht-document-font-family, inherit);
894
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-ordered-list-margin-block-end, var(--utrecht-unordered-list-margin-block-end, 0)));
895
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-ordered-list-margin-block-start, var(--utrecht-unordered-list-margin-block-start, 0)));
896
+ padding-inline-start: var(--utrecht-ordered-list-padding-inline-start, var(--utrecht-unordered-list-padding-inline-start, 2ch));
897
+ --utrecht-space-around: 1;
1072
898
  }
1073
-
1074
- .utrecht-ordered-list--distanced, .utrecht-html ol {
1075
- margin-block-end: var(--utrecht-ordered-list-margin-block-end);
1076
- margin-block-start: var(--utrecht-ordered-list-margin-block-start);
899
+ .utrecht-html ol > li {
900
+ margin-block-end: var(--utrecht-ordered-list-item-margin-block-end, var(--utrecht-unordered-list-item-margin-block-end));
901
+ margin-block-start: var(--utrecht-ordered-list-item-margin-block-start, var(--utrecht-unordered-list-item-margin-block-start));
902
+ padding-inline-start: var(--utrecht-ordered-list-item-padding-inline-start, var(--utrecht-unordered-list-item-padding-inline-start, 1ch));
1077
903
  }
1078
-
1079
- .utrecht-ordered-list__item, .utrecht-html ol > li {
1080
- margin-block-end: var(--utrecht-ordered-list-item-margin-block-end);
1081
- margin-block-start: var(--utrecht-ordered-list-item-margin-block-start);
904
+ .utrecht-html ol:lang(ar) {
905
+ list-style: arabic-indic;
1082
906
  }
1083
-
1084
- /**
1085
- * @license EUPL-1.2
1086
- * Copyright (c) 2021 Robbert Broersma
1087
- */
1088
- /**
1089
- * @license EUPL-1.2
1090
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
1091
- */
1092
- .utrecht-paragraph, .utrecht-html p {
1093
- color: var(--utrecht-document-color, inherit);
907
+ .utrecht-html p {
908
+ color: var(--utrecht-paragraph-color, var(--utrecht-document-color, inherit));
1094
909
  font-family: var(--utrecht-paragraph-font-family, var(--utrecht-document-font-family, inherit));
1095
910
  font-size: var(--utrecht-paragraph-font-size, var(--utrecht-document-font-size, inherit));
1096
911
  font-weight: var(--utrecht-paragraph-font-weight, inherit);
1097
912
  line-height: var(--utrecht-paragraph-line-height, var(--utrecht-document-line-height, inherit));
913
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-paragraph-margin-block-end, 0));
914
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-paragraph-margin-block-start, 0));
1098
915
  }
1099
-
1100
- .utrecht-paragraph--lead, .utrecht-html p.lead {
1101
- font-size: var(--utrecht-paragraph-lead-font-size, inherit);
1102
- font-weight: var(--utrecht-paragraph-lead-font-weight, inherit);
1103
- line-height: var(--utrecht-paragraph-lead-line-height, inherit);
916
+ .utrecht-html p.lead {
917
+ color: var(--utrecht-paragraph-lead-color, var(--utrecht-paragraph-color, var(--utrecht-document-color, inherit)));
918
+ font-size: var(--utrecht-paragraph-lead-font-size, var(--utrecht-paragraph-font-size, inherit));
919
+ font-weight: var(--utrecht-paragraph-lead-font-weight, var(--utrecht-paragraph-font-weight, inherit));
920
+ line-height: var(--utrecht-paragraph-lead-line-height, var(--utrecht-paragraph-line-height, inherit));
1104
921
  }
1105
-
1106
- .utrecht-paragraph--distanced, .utrecht-html * ~ p {
1107
- margin-block-start: var(--utrecht-paragraph-margin-block-start);
1108
- margin-block-end: var(--utrecht-paragraph-margin-block-end);
922
+ .utrecht-html * ~ p {
923
+ --utrecht-space-around: 1;
1109
924
  }
1110
-
1111
- /**
1112
- * @license EUPL-1.2
1113
- * Copyright (c) 2021 Gemeente Utrecht
1114
- */
1115
- /**
1116
- * @license EUPL-1.2
1117
- * Copyright (c) 2021 Gemeente Utrecht
1118
- */
1119
- .utrecht-radio-button, .utrecht-html input[type=radio] {
1120
- /* reset native margin for input[type="radio"] */
1121
- margin-block-start: 0;
925
+ .utrecht-html p:has(> small:only-child) {
926
+ color: var(--utrecht-paragraph-small-color, var(--utrecht-paragraph-color, var(--utrecht-document-color, inherit)));
927
+ font-size: var(--utrecht-paragraph-small-font-size, var(--utrecht-paragraph-font-size, inherit));
928
+ font-weight: var(--utrecht-paragraph-small-font-weight, var(--utrecht-paragraph-font-weight, inherit));
929
+ line-height: var(--utrecht-paragraph-small-line-height, var(--utrecht-paragraph-line-height, inherit));
930
+ }
931
+ .utrecht-html p > small:only-child {
932
+ font-size: inherit;
933
+ }
934
+ .utrecht-html input[type=radio i] {
935
+ /* reset native margin for input[type="radio" i] */
1122
936
  margin-block-end: 0;
1123
- margin-inline-start: 0;
937
+ margin-block-start: 0;
1124
938
  margin-inline-end: 0;
939
+ margin-inline-start: 0;
1125
940
  }
1126
-
1127
- /**
1128
- * @license EUPL-1.2
1129
- * Copyright (c) 2021 Robbert Broersma
1130
- */
1131
- /**
1132
- * @license EUPL-1.2
1133
- * Copyright (c) 2021 Gemeente Utrecht
1134
- * Copyright (c) 2021 Robbert Broersma
1135
- * Copyright (c) 2021 The Knights Who Say NIH! B.V.
1136
- */
1137
- .utrecht-separator, .utrecht-html hr {
941
+ .utrecht-html input[type=radio i]:disabled {
942
+ cursor: var(--utrecht-action-disabled-cursor);
943
+ }
944
+ .utrecht-html input[type=radio i]:focus {
945
+ box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
946
+ outline-color: var(--utrecht-focus-outline-color, transparent);
947
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
948
+ outline-style: var(--utrecht-focus-outline-style, solid);
949
+ outline-width: var(--utrecht-focus-outline-width, 0);
950
+ }
951
+ .utrecht-html input[type=radio i]:focus:not(:focus-visible) {
952
+ /* undo focus ring */
953
+ box-shadow: none;
954
+ outline-style: none;
955
+ }
956
+ .utrecht-html select {
957
+ -moz-appearance: none;
958
+ -webkit-appearance: none;
959
+ appearance: none;
960
+ background-color: var(--utrecht-select-background-color, var(--utrecht-form-input-background-color));
961
+ background-image: var(--utrecht-select-background-image);
962
+ background-position: 100%;
963
+ background-repeat: no-repeat;
964
+ background-size: 1.4em;
965
+ border-block-end-width: var(--utrecht-select-border-block-end-width, var(--utrecht-select-border-width, var(--utrecht-form-input-border-width)));
966
+ border-block-start-width: var(--utrecht-select-border-width, var(--utrecht-form-input-border-width));
967
+ border-color: var(--utrecht-select-border-color, var(--utrecht-form-input-border-color));
968
+ border-inline-end-width: var(--utrecht-select-border-width, var(--utrecht-form-input-border-width));
969
+ border-inline-start-width: var(--utrecht-select-border-width, var(--utrecht-form-input-border-width));
970
+ border-radius: var(--utrecht-select-border-radius, var(--utrecht-form-input-border-radius, 0));
1138
971
  border-style: solid;
972
+ color: var(--utrecht-select-color, var(--utrecht-form-input-color));
973
+ font-family: var(--utrecht-select-font-family, var(--utrecht-form-input-font-family));
974
+ font-size: var(--utrecht-select-font-size, var(--utrecht-form-input-font-size));
975
+ max-inline-size: var(--utrecht-select-max-inline-size, var(--utrecht-form-input-max-inline-size));
976
+ padding-block-end: var(--utrecht-select-padding-block-end, var(--utrecht-form-input-padding-block-end));
977
+ padding-block-start: var(--utrecht-select-padding-block-start, var(--utrecht-form-input-padding-block-start));
978
+ padding-inline-end: var(--utrecht-select-padding-inline-end, var(--utrecht-form-input-padding-inline-end));
979
+ padding-inline-start: var(--utrecht-select-padding-inline-start, var(--utrecht-form-input-padding-inline-start));
980
+ width: 100%;
981
+ /* <select> does not support :read-only */
982
+ }
983
+ .utrecht-html select:disabled {
984
+ background-color: var(--utrecht-select-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-select-background-color, var(--utrecht-form-input-background-color))));
985
+ border-color: var(--utrecht-select-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-select-border-color, var(--utrecht-form-input-border-color))));
986
+ color: var(--utrecht-select-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-select-color, var(--utrecht-form-input-color))));
987
+ cursor: var(--utrecht-action-disabled-cursor);
988
+ }
989
+ .utrecht-html select:focus {
990
+ background-color: var(--utrecht-select-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-select-background-color, var(--utrecht-form-input-background-color))));
991
+ border-color: var(--utrecht-select-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-select-border-color, var(--utrecht-form-input-border-color))));
992
+ color: var(--utrecht-select-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-select-color, var(--utrecht-form-input-color))));
993
+ box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
994
+ outline-color: var(--utrecht-focus-outline-color, transparent);
995
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
996
+ outline-style: var(--utrecht-focus-outline-style, solid);
997
+ outline-width: var(--utrecht-focus-outline-width, 0);
998
+ }
999
+ .utrecht-html select:focus:not(:focus-visible) {
1000
+ /* undo focus ring */
1001
+ box-shadow: none;
1002
+ outline-style: none;
1003
+ }
1004
+ .utrecht-html select[aria-invalid=true] {
1005
+ background-color: var(--utrecht-select-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-select-background-color, var(--utrecht-form-input-background-color))));
1006
+ border-color: var(--utrecht-select-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-select-border-color, var(--utrecht-form-input-border-color))));
1007
+ border-width: var(--utrecht-select-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-select-border-width, var(--utrecht-form-input-border-width))));
1008
+ }
1009
+ .utrecht-html hr {
1139
1010
  border-color: var(--utrecht-separator-color);
1140
- border-width: 0 0 var(--utrecht-separator-width) 0;
1141
- margin-block-start: var(--utrecht-separator-margin-block-start);
1142
- margin-block-end: var(--utrecht-separator-margin-block-end);
1011
+ border-style: solid;
1012
+ border-width: 0 0 var(--utrecht-separator-block-size) 0;
1013
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-separator-margin-block-end, 0));
1014
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-separator-margin-block-start, 0));
1015
+ --utrecht-space-around: 1;
1143
1016
  }
1144
-
1145
- /**
1146
- * @license EUPL-1.2
1147
- * Copyright (c) 2021 Robbert Broersma
1148
- */
1149
- /**
1150
- * @license EUPL-1.2
1151
- * Copyright (c) 2021 Robbert Broersma
1152
- */
1153
- .utrecht-table, .utrecht-html table {
1017
+ .utrecht-html table {
1154
1018
  border-collapse: collapse;
1019
+ border-color: var(--utrecht-table-border-color, 0);
1020
+ border-style: solid;
1021
+ border-width: var(--utrecht-table-border-width, 0);
1022
+ font-family: var(--utrecht-table-font-family, var(--utrecht-document-font-family));
1023
+ font-size: var(--utrecht-table-font-size, inherit);
1024
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-table-margin-block-end, 0));
1025
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-table-margin-block-start, 0));
1155
1026
  width: 100%;
1027
+ --utrecht-space-around: 1;
1156
1028
  }
1157
-
1158
- .utrecht-table--distanced, .utrecht-html table {
1159
- margin-block-end: var(--utrecht-table-margin-block-end);
1160
- margin-block-start: var(--utrecht-table-margin-block-start);
1161
- }
1162
-
1163
- .utrecht-table__caption, .utrecht-html caption {
1164
- font-weight: var(--utrecht-table-caption-font-weight);
1029
+ .utrecht-html caption {
1030
+ color: var(--utrecht-table-caption-color);
1165
1031
  font-family: var(--utrecht-table-caption-font-family);
1166
1032
  font-size: var(--utrecht-table-caption-font-size);
1167
- color: var(--utrecht-table-caption-color);
1033
+ font-weight: var(--utrecht-table-caption-font-weight);
1168
1034
  line-height: var(--utrecht-table-caption-line-height);
1169
1035
  margin-block-end: var(--utrecht-table-caption-margin-block-end);
1036
+ page-break-after: avoid;
1170
1037
  text-align: var(--utrecht-table-caption-text-align, center);
1171
1038
  }
1172
-
1173
- .utrecht-table__header, .utrecht-html thead {
1174
- font-weight: var(--utrecht-table-header-font-weight);
1039
+ .utrecht-html thead {
1040
+ background-color: var(--utrecht-table-header-background-color);
1175
1041
  color: var(--utrecht-table-header-color);
1042
+ font-weight: var(--utrecht-table-header-font-weight);
1043
+ page-break-inside: avoid;
1176
1044
  text-transform: var(--utrecht-table-header-text-transform);
1177
1045
  vertical-align: bottom;
1178
1046
  }
1179
-
1180
- .utrecht-table__cell--last-header-row, .utrecht-html thead tr:last-child th {
1181
- border-block-end-style: solid;
1182
- border-block-end-color: var(--utrecht-table-header-border-block-end-color, transparent);
1183
- border-block-end-width: var(--utrecht-table-header-border-block-end-width, 0);
1184
- }
1185
-
1186
- .utrecht-table__body, .utrecht-html tbody {
1047
+ .utrecht-html tbody {
1187
1048
  vertical-align: baseline;
1188
1049
  }
1189
-
1190
- .utrecht-table__heading, .utrecht-html th {
1191
- font-weight: var(--utrecht-table-heading-font-weight);
1192
- color: var(--utrecht-table-heading-color);
1193
- text-transform: var(--utrecht-table-heading-text-transform);
1050
+ .utrecht-html th {
1051
+ color: var(--utrecht-table-header-cell-color);
1052
+ font-size: var(--utrecht-table-header-cell-font-size);
1053
+ font-weight: var(--utrecht-table-header-cell-font-weight);
1054
+ text-align: start;
1055
+ text-transform: var(--utrecht-table-header-cell-text-transform);
1194
1056
  }
1195
-
1196
- .utrecht-table__cell, .utrecht-html th,
1057
+ .utrecht-html th,
1197
1058
  .utrecht-html td {
1198
- border-block-end-style: solid;
1199
1059
  border-block-end-color: var(--utrecht-table-row-border-block-end-color, transparent);
1060
+ border-block-end-style: solid;
1200
1061
  border-block-end-width: var(--utrecht-table-row-border-block-end-width, 0);
1201
1062
  line-height: var(--utrecht-table-cell-line-height, inherit);
1202
- padding-inline-start: var(--utrecht-table-cell-padding-inline-start, 0);
1203
- padding-inline-end: var(--utrecht-table-cell-padding-inline-end, 0);
1204
- padding-block-start: var(--utrecht-table-cell-padding-block-start, 0);
1205
1063
  padding-block-end: var(--utrecht-table-cell-padding-block-end, 0);
1064
+ padding-block-start: var(--utrecht-table-cell-padding-block-start, 0);
1065
+ padding-inline-end: var(--utrecht-table-cell-padding-inline-end, 0);
1066
+ padding-inline-start: var(--utrecht-table-cell-padding-inline-start, 0);
1206
1067
  text-align: start;
1207
1068
  }
1208
-
1209
- .utrecht-table__cell--first, .utrecht-html td:first-child,
1069
+ .utrecht-html td:first-child,
1210
1070
  .utrecht-html th:first-child {
1211
1071
  padding-inline-start: var(--utrecht-table-row-padding-inline-start, var(--utrecht-table-cell-padding-inline-start, 0));
1212
1072
  }
1213
-
1214
- .utrecht-table__cell--last, .utrecht-html td:last-child,
1073
+ .utrecht-html td:last-child,
1215
1074
  .utrecht-html th:last-child {
1216
1075
  padding-inline-end: var(--utrecht-table-row-padding-inline-end, var(--utrecht-table-cell-padding-inline-end, 0));
1217
1076
  }
1218
-
1219
- .utrecht-table__cell--numeric, .utrecht-html th.numeric,
1077
+ .utrecht-html thead tr:last-child th {
1078
+ border-block-end-color: var(--utrecht-table-header-border-block-end-color, transparent);
1079
+ border-block-end-style: solid;
1080
+ border-block-end-width: var(--utrecht-table-header-border-block-end-width, 0);
1081
+ }
1082
+ .utrecht-html thead > tr > th.numeric,
1083
+ .utrecht-html tfoot > tr > th.numeric,
1084
+ .utrecht-html th[scope=column].numeric {
1085
+ /* stylelint-disable-next-line declaration-property-value-disallowed-list */
1086
+ text-align: right;
1087
+ }
1220
1088
  .utrecht-html td.numeric {
1221
1089
  /* stylelint-disable-next-line declaration-property-value-disallowed-list */
1222
1090
  text-align: right;
1091
+ font-variant-numeric: lining-nums tabular-nums;
1223
1092
  }
1224
-
1225
- .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 {
1093
+ .utrecht-html table.alternate-row-color > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tr:nth-child(even) > th {
1094
+ background-color: var(--utrecht-table-row-alternate-even-background-color);
1095
+ color: var(--utrecht-table-row-alternate-even-color);
1096
+ }
1097
+ .utrecht-html table.alternate-row-color > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tr:nth-child(odd) > th {
1226
1098
  background-color: var(--utrecht-table-row-alternate-odd-background-color);
1227
1099
  color: var(--utrecht-table-row-alternate-odd-color);
1228
1100
  }
1229
-
1230
- .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 {
1101
+ .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(even) > th {
1231
1102
  background-color: var(--utrecht-table-row-alternate-even-background-color);
1232
1103
  color: var(--utrecht-table-row-alternate-even-color);
1233
1104
  }
1234
-
1235
- /**
1236
- * @license EUPL-1.2
1237
- * Copyright (c) 2021 Robbert Broersma
1238
- */
1239
- /**
1240
- * @license EUPL-1.2
1241
- * Copyright (c) 2021 Robbert Broersma
1242
- */
1243
- .utrecht-textarea, .utrecht-html textarea {
1244
- border-width: var(--utrecht-textarea-border-width);
1245
- border-bottom-width: var(--utrecht-textarea-border-bottom-width, var(--utrecht-textarea-border-width));
1246
- border-color: var(--utrecht-textarea-border-color);
1247
- border-radius: var(--utrecht-textarea-border-radius, 0);
1105
+ .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > td, .utrecht-html table.alternate-row-color > tbody > tr:nth-child(odd) > th {
1106
+ background-color: var(--utrecht-table-row-alternate-odd-background-color);
1107
+ color: var(--utrecht-table-row-alternate-odd-color);
1108
+ }
1109
+ .utrecht-html textarea {
1110
+ background-color: var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color));
1111
+ border-width: var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width));
1112
+ border-bottom-width: var(--utrecht-textarea-border-bottom-width, var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width)));
1113
+ border-color: var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color));
1114
+ border-radius: var(--utrecht-textarea-border-radius, var(--utrecht-form-input-border-radius, 0));
1248
1115
  border-style: solid;
1249
- color: var(--utrecht-textarea-color);
1250
- font-family: var(--utrecht-textarea-font-family);
1251
- font-size: var(--utrecht-textarea-font-size, 1em);
1252
- max-width: var(--utrecht-textarea-max-width);
1253
- padding-block-end: var(--utrecht-textarea-padding-block-end);
1254
- padding-block-start: var(--utrecht-textarea-padding-block-start);
1255
- padding-inline-end: var(--utrecht-textarea-padding-inline-end);
1256
- padding-inline-start: var(--utrecht-textarea-padding-inline-start);
1116
+ box-sizing: border-box;
1117
+ color: var(--utrecht-textarea-color, var(--utrecht-form-input-color));
1118
+ font-family: var(--utrecht-textarea-font-family, var(--utrecht-form-input-font-family));
1119
+ font-size: var(--utrecht-textarea-font-size, var(--utrecht-form-input-font-size, 1em));
1120
+ font-weight: initial; /* harden */
1121
+ height: initial; /* harden */
1122
+ line-height: var(--utrecht-textarea-line-height, initial);
1123
+ max-inline-size: var(--utrecht-textarea-max-inline-size, var(--utrecht-form-input-max-inline-size));
1124
+ min-block-size: var(--utrecht-textarea-min-block-size);
1125
+ padding-block-end: var(--utrecht-textarea-padding-block-end, var(--utrecht-form-input-padding-block-end, 0));
1126
+ padding-block-start: var(--utrecht-textarea-padding-block-start, var(--utrecht-form-input-padding-block-start, 0));
1127
+ padding-inline-end: var(--utrecht-textarea-padding-inline-end, var(--utrecht-form-input-padding-inline-end, initial));
1128
+ padding-inline-start: var(--utrecht-textarea-padding-inline-start, var(--utrecht-form-input-padding-inline-start, initial));
1129
+ resize: vertical;
1257
1130
  width: 100%;
1258
1131
  }
1259
-
1260
- .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] {
1261
- border-color: var(--utrecht-textarea-invalid-border-color);
1262
- border-width: var(--utrecht-textarea-invalid-border-width);
1263
- }
1264
-
1265
- .utrecht-textarea--disabled, .utrecht-textarea--html-textarea:disabled, .utrecht-html textarea:disabled {
1266
- border-color: var(--utrecht-textarea-disabled-border-color);
1267
- color: var(--utrecht-textarea-disabled-color);
1132
+ .utrecht-html textarea:disabled {
1133
+ background-color: var(--utrecht-textarea-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1134
+ border-color: var(--utrecht-textarea-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1135
+ color: var(--utrecht-textarea-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1136
+ cursor: var(--utrecht-action-disabled-cursor);
1268
1137
  }
1269
-
1270
- .utrecht-textarea--focus, .utrecht-textarea--html-textarea:focus, .utrecht-html textarea:focus {
1271
- outline-width: var(--utrecht-focus-outline-width, 0);
1272
- outline-style: var(--utrecht-focus-outline-style, solid);
1273
- outline-color: var(--utrecht-focus-outline-color, transparent);
1274
- color: var(--utrecht-focus-color, inherit);
1138
+ .utrecht-html textarea:focus {
1139
+ background-color: var(--utrecht-textarea-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1140
+ border-color: var(--utrecht-textarea-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1141
+ color: var(--utrecht-textarea-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1275
1142
  box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1276
- outline-offset: 0;
1277
- background-color: var(--utrecht-focus-background-color);
1278
- }
1279
-
1280
- .utrecht-textarea--read-only, .utrecht-textarea--html-textarea:read-only, .utrecht-html textarea:read-only {
1281
- border-color: var(--utrecht-textarea-read-only-border-color);
1282
- color: var(--utrecht-textarea-read-only-color);
1143
+ outline-color: var(--utrecht-focus-outline-color, transparent);
1144
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
1145
+ outline-style: var(--utrecht-focus-outline-style, solid);
1146
+ outline-width: var(--utrecht-focus-outline-width, 0);
1283
1147
  }
1284
-
1285
- /**
1286
- * @license EUPL-1.2
1287
- * Copyright (c) 2021 Robbert Broersma
1288
- */
1289
- /**
1290
- * @license EUPL-1.2
1291
- * Copyright (c) 2021 Robbert Broersma
1292
- */
1293
- .utrecht-textbox, .utrecht-html input[type=text],
1294
- .utrecht-html input[type=email],
1295
- .utrecht-html input[type=search],
1296
- .utrecht-html input[type=tel],
1297
- .utrecht-html input[type=url] {
1298
- border-width: var(--utrecht-textbox-border-width);
1299
- border-bottom-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width));
1300
- border-color: var(--utrecht-textbox-border-color);
1301
- border-radius: var(--utrecht-textbox-border-radius, 0);
1148
+ .utrecht-html textarea:focus:not(:focus-visible) {
1149
+ /* undo focus ring */
1150
+ box-shadow: none;
1151
+ outline-style: none;
1152
+ }
1153
+ .utrecht-html textarea:invalid, .utrecht-html textarea[aria-invalid=true] {
1154
+ background-color: var(--utrecht-textarea-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1155
+ border-color: var(--utrecht-textarea-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1156
+ border-width: var(--utrecht-textarea-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-textarea-border-width, var(--utrecht-form-input-border-width))));
1157
+ }
1158
+ .utrecht-html textarea:read-only {
1159
+ border-color: var(--utrecht-textarea-read-only-border, var(--utrecht-form-input-read-only-border-color, var(--utrecht-textarea-border, var(--utrecht-form-input-border-color))));
1160
+ color: var(--utrecht-textarea-read-only-color, var(--utrecht-form-input-read-only-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1161
+ }
1162
+ .utrecht-html textarea::placeholder {
1163
+ color: var(--utrecht-textarea-placeholder-color, var(--utrecht-form-input-placeholder-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1164
+ font-style: var(--utrecht-form-input-placeholder-font-style);
1165
+ opacity: 100%;
1166
+ }
1167
+ .utrecht-html input:not([type]),
1168
+ .utrecht-html input[type=date i],
1169
+ .utrecht-html input[type=datetime-local i],
1170
+ .utrecht-html input[type=email i],
1171
+ .utrecht-html input[type=month i],
1172
+ .utrecht-html input[type=number i],
1173
+ .utrecht-html input[type=password i],
1174
+ .utrecht-html input[type=search i],
1175
+ .utrecht-html input[type=tel i],
1176
+ .utrecht-html input[type=text i],
1177
+ .utrecht-html input[type=time i],
1178
+ .utrecht-html input[type=url i],
1179
+ .utrecht-html input[type=week i] {
1180
+ background-color: var(--utrecht-textbox-background-color, var(--utrecht-form-input-background-color));
1181
+ border-width: var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width));
1182
+ border-bottom-width: var(--utrecht-textbox-border-bottom-width, var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width)));
1183
+ border-color: var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color));
1184
+ border-radius: var(--utrecht-textbox-border-radius, var(--utrecht-form-input-border-radius, 0));
1302
1185
  border-style: solid;
1303
- color: var(--utrecht-textbox-color);
1304
- font-family: var(--utrecht-textbox-font-family);
1305
- font-size: var(--utrecht-textbox-font-size, 1em);
1306
- max-width: var(--utrecht-textbox-max-width);
1307
- padding-block-end: var(--utrecht-textbox-padding-block-end);
1308
- padding-block-start: var(--utrecht-textbox-padding-block-start);
1309
- padding-inline-end: var(--utrecht-textbox-padding-inline-end);
1310
- padding-inline-start: var(--utrecht-textbox-padding-inline-start);
1311
1186
  box-sizing: border-box;
1187
+ color: var(--utrecht-textbox-color, var(--utrecht-form-input-color));
1188
+ font-family: var(--utrecht-textbox-font-family, var(--utrecht-form-input-font-family));
1189
+ font-size: var(--utrecht-textbox-font-size, var(--utrecht-form-input-font-size, 1em));
1190
+ font-weight: initial; /* harden */
1191
+ height: initial; /* harden */
1192
+ line-height: initial; /* harden */
1193
+ max-inline-size: var(--utrecht-textbox-max-inline-size, var(--utrecht-form-input-max-inline-size));
1194
+ padding-block-end: var(--utrecht-textbox-padding-block-end, var(--utrecht-form-input-padding-block-end, 0));
1195
+ padding-block-start: var(--utrecht-textbox-padding-block-start, var(--utrecht-form-input-padding-block-start, 0));
1196
+ padding-inline-end: var(--utrecht-textbox-padding-inline-end, var(--utrecht-form-input-padding-inline-end, initial));
1197
+ padding-inline-start: var(--utrecht-textbox-padding-inline-start, var(--utrecht-form-input-padding-inline-start, initial));
1312
1198
  width: 100%;
1313
1199
  }
1314
-
1315
- .utrecht-textbox--invalid, .utrecht-textbox--html-input:invalid, .utrecht-textbox--html-input[aria-invalid=true], .utrecht-html input[type=text]:invalid,
1316
- .utrecht-html input[type=email]:invalid,
1317
- .utrecht-html input[type=search]:invalid,
1318
- .utrecht-html input[type=tel]:invalid,
1319
- .utrecht-html input[type=url]:invalid, .utrecht-html input[aria-invalid=true][type=text],
1320
- .utrecht-html input[aria-invalid=true][type=email],
1321
- .utrecht-html input[aria-invalid=true][type=search],
1322
- .utrecht-html input[aria-invalid=true][type=tel],
1323
- .utrecht-html input[aria-invalid=true][type=url] {
1324
- border-color: var(--utrecht-textbox-invalid-border-color);
1325
- border-width: var(--utrecht-textbox-invalid-border-width);
1326
- }
1327
-
1328
- .utrecht-textbox--disabled, .utrecht-textbox--html-input:disabled, .utrecht-html input[type=text]:disabled,
1329
- .utrecht-html input[type=email]:disabled,
1330
- .utrecht-html input[type=search]:disabled,
1331
- .utrecht-html input[type=tel]:disabled,
1332
- .utrecht-html input[type=url]:disabled {
1333
- border-color: var(--utrecht-textbox-disabled-border-color);
1334
- color: var(--utrecht-textbox-disabled-color);
1335
- }
1336
-
1337
- .utrecht-textbox--focus, .utrecht-textbox--html-input:focus, .utrecht-html input[type=text]:focus,
1338
- .utrecht-html input[type=email]:focus,
1339
- .utrecht-html input[type=search]:focus,
1340
- .utrecht-html input[type=tel]:focus,
1341
- .utrecht-html input[type=url]:focus {
1342
- outline-width: var(--utrecht-focus-outline-width, 0);
1343
- outline-style: var(--utrecht-focus-outline-style, solid);
1344
- outline-color: var(--utrecht-focus-outline-color, transparent);
1345
- color: var(--utrecht-focus-color, inherit);
1200
+ .utrecht-html input:not([type]):disabled,
1201
+ .utrecht-html input[type=date i]:disabled,
1202
+ .utrecht-html input[type=datetime-local i]:disabled,
1203
+ .utrecht-html input[type=email i]:disabled,
1204
+ .utrecht-html input[type=month i]:disabled,
1205
+ .utrecht-html input[type=number i]:disabled,
1206
+ .utrecht-html input[type=password i]:disabled,
1207
+ .utrecht-html input[type=search i]:disabled,
1208
+ .utrecht-html input[type=tel i]:disabled,
1209
+ .utrecht-html input[type=text i]:disabled,
1210
+ .utrecht-html input[type=time i]:disabled,
1211
+ .utrecht-html input[type=url i]:disabled,
1212
+ .utrecht-html input[type=week i]:disabled {
1213
+ background-color: var(--utrecht-textbox-disabled-background-color, var(--utrecht-form-input-disabled-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1214
+ border-color: var(--utrecht-textbox-disabled-border-color, var(--utrecht-form-input-disabled-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1215
+ color: var(--utrecht-textbox-disabled-color, var(--utrecht-form-input-disabled-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1216
+ cursor: var(--utrecht-action-disabled-cursor);
1217
+ }
1218
+ .utrecht-html input:not([type]):focus,
1219
+ .utrecht-html input[type=date i]:focus,
1220
+ .utrecht-html input[type=datetime-local i]:focus,
1221
+ .utrecht-html input[type=email i]:focus,
1222
+ .utrecht-html input[type=month i]:focus,
1223
+ .utrecht-html input[type=number i]:focus,
1224
+ .utrecht-html input[type=password i]:focus,
1225
+ .utrecht-html input[type=search i]:focus,
1226
+ .utrecht-html input[type=tel i]:focus,
1227
+ .utrecht-html input[type=text i]:focus,
1228
+ .utrecht-html input[type=time i]:focus,
1229
+ .utrecht-html input[type=url i]:focus,
1230
+ .utrecht-html input[type=week i]:focus {
1231
+ background-color: var(--utrecht-textbox-focus-background-color, var(--utrecht-form-input-focus-background-color, var(--utrecht-textarea-background-color, var(--utrecht-form-input-background-color))));
1232
+ border-color: var(--utrecht-textbox-focus-border-color, var(--utrecht-form-input-focus-border-color, var(--utrecht-textarea-border-color, var(--utrecht-form-input-border-color))));
1233
+ color: var(--utrecht-textbox-focus-color, var(--utrecht-form-input-focus-color, var(--utrecht-textarea-color, var(--utrecht-form-input-color))));
1346
1234
  box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
1347
- outline-offset: 0;
1348
- background-color: var(--utrecht-focus-background-color);
1349
- }
1350
-
1351
- .utrecht-textbox--read-only, .utrecht-textbox--html-input:read-only, .utrecht-html input[type=text]:read-only,
1352
- .utrecht-html input[type=email]:read-only,
1353
- .utrecht-html input[type=search]:read-only,
1354
- .utrecht-html input[type=tel]:read-only,
1355
- .utrecht-html input[type=url]:read-only {
1356
- border-color: var(--utrecht-textbox-read-only-border-color);
1357
- color: var(--utrecht-textbox-read-only-color);
1235
+ outline-color: var(--utrecht-focus-outline-color, transparent);
1236
+ outline-offset: var(--utrecht-focus-outline-offset, 0);
1237
+ outline-style: var(--utrecht-focus-outline-style, solid);
1238
+ outline-width: var(--utrecht-focus-outline-width, 0);
1358
1239
  }
1359
-
1360
- /**
1361
- * @license EUPL-1.2
1362
- * Copyright (c) 2021 Robbert Broersma
1363
- */
1364
- /**
1365
- * @license EUPL-1.2
1366
- * Copyright (c) 2021 Robbert Broersma
1367
- * Copyright (c) 2021 Gemeente Utrecht
1368
- */
1369
- .utrecht-unordered-list, .utrecht-html ul {
1240
+ .utrecht-html input:not([type]):focus:not(:focus-visible),
1241
+ .utrecht-html input[type=date i]:focus:not(:focus-visible),
1242
+ .utrecht-html input[type=datetime-local i]:focus:not(:focus-visible),
1243
+ .utrecht-html input[type=email i]:focus:not(:focus-visible),
1244
+ .utrecht-html input[type=month i]:focus:not(:focus-visible),
1245
+ .utrecht-html input[type=number i]:focus:not(:focus-visible),
1246
+ .utrecht-html input[type=password i]:focus:not(:focus-visible),
1247
+ .utrecht-html input[type=search i]:focus:not(:focus-visible),
1248
+ .utrecht-html input[type=tel i]:focus:not(:focus-visible),
1249
+ .utrecht-html input[type=text i]:focus:not(:focus-visible),
1250
+ .utrecht-html input[type=time i]:focus:not(:focus-visible),
1251
+ .utrecht-html input[type=url i]:focus:not(:focus-visible),
1252
+ .utrecht-html input[type=week i]:focus:not(:focus-visible) {
1253
+ /* undo focus ring */
1254
+ box-shadow: none;
1255
+ outline-style: none;
1256
+ }
1257
+ .utrecht-html input:not([type]):invalid, .utrecht-html input:not([type])[aria-invalid=true],
1258
+ .utrecht-html input[type=date i]:invalid,
1259
+ .utrecht-html input[type=date i][aria-invalid=true],
1260
+ .utrecht-html input[type=datetime-local i]:invalid,
1261
+ .utrecht-html input[type=datetime-local i][aria-invalid=true],
1262
+ .utrecht-html input[type=email i]:invalid,
1263
+ .utrecht-html input[type=email i][aria-invalid=true],
1264
+ .utrecht-html input[type=month i]:invalid,
1265
+ .utrecht-html input[type=month i][aria-invalid=true],
1266
+ .utrecht-html input[type=number i]:invalid,
1267
+ .utrecht-html input[type=number i][aria-invalid=true],
1268
+ .utrecht-html input[type=password i]:invalid,
1269
+ .utrecht-html input[type=password i][aria-invalid=true],
1270
+ .utrecht-html input[type=search i]:invalid,
1271
+ .utrecht-html input[type=search i][aria-invalid=true],
1272
+ .utrecht-html input[type=tel i]:invalid,
1273
+ .utrecht-html input[type=tel i][aria-invalid=true],
1274
+ .utrecht-html input[type=text i]:invalid,
1275
+ .utrecht-html input[type=text i][aria-invalid=true],
1276
+ .utrecht-html input[type=time i]:invalid,
1277
+ .utrecht-html input[type=time i][aria-invalid=true],
1278
+ .utrecht-html input[type=url i]:invalid,
1279
+ .utrecht-html input[type=url i][aria-invalid=true],
1280
+ .utrecht-html input[type=week i]:invalid,
1281
+ .utrecht-html input[type=week i][aria-invalid=true] {
1282
+ background-color: var(--utrecht-textbox-invalid-background-color, var(--utrecht-form-input-invalid-background-color, var(--utrecht-textbox-background-color, var(--utrecht-form-input-background-color))));
1283
+ border-color: var(--utrecht-textbox-invalid-border-color, var(--utrecht-form-input-invalid-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color))));
1284
+ border-width: var(--utrecht-textbox-invalid-border-width, var(--utrecht-form-input-invalid-border-width, var(--utrecht-textbox-border-width, var(--utrecht-form-input-border-width))));
1285
+ }
1286
+ .utrecht-html input:not([type]):read-only,
1287
+ .utrecht-html input[type=date i]:read-only,
1288
+ .utrecht-html input[type=datetime-local i]:read-only,
1289
+ .utrecht-html input[type=email i]:read-only,
1290
+ .utrecht-html input[type=month i]:read-only,
1291
+ .utrecht-html input[type=number i]:read-only,
1292
+ .utrecht-html input[type=password i]:read-only,
1293
+ .utrecht-html input[type=search i]:read-only,
1294
+ .utrecht-html input[type=tel i]:read-only,
1295
+ .utrecht-html input[type=text i]:read-only,
1296
+ .utrecht-html input[type=time i]:read-only,
1297
+ .utrecht-html input[type=url i]:read-only,
1298
+ .utrecht-html input[type=week i]:read-only {
1299
+ border-color: var(--utrecht-textbox-read-only-border-color, var(--utrecht-form-input-read-only-border-color, var(--utrecht-textbox-border-color, var(--utrecht-form-input-border-color))));
1300
+ color: var(--utrecht-textbox-read-only-color, var(--utrecht-form-input-read-only-color, var(--utrecht-textbox-color, var(--utrecht-form-input-color))));
1301
+ }
1302
+ .utrecht-html input:not([type])::placeholder,
1303
+ .utrecht-html input[type=date i]::placeholder,
1304
+ .utrecht-html input[type=datetime-local i]::placeholder,
1305
+ .utrecht-html input[type=email i]::placeholder,
1306
+ .utrecht-html input[type=month i]::placeholder,
1307
+ .utrecht-html input[type=number i]::placeholder,
1308
+ .utrecht-html input[type=password i]::placeholder,
1309
+ .utrecht-html input[type=search i]::placeholder,
1310
+ .utrecht-html input[type=tel i]::placeholder,
1311
+ .utrecht-html input[type=text i]::placeholder,
1312
+ .utrecht-html input[type=time i]::placeholder,
1313
+ .utrecht-html input[type=url i]::placeholder,
1314
+ .utrecht-html input[type=week i]::placeholder {
1315
+ color: var(--utrecht-textbox-placeholder-color, var(--utrecht-form-input-placeholder-color, var(--utrecht-textbox-color, var(--utrecht-form-input-color))));
1316
+ font-style: var(--utrecht-form-input-placeholder-font-style);
1317
+ opacity: 100%;
1318
+ }
1319
+ .utrecht-html input[autocomplete~=current-password i],
1320
+ .utrecht-html input[autocomplete~=new-password i],
1321
+ .utrecht-html input[type=password i] {
1322
+ font-variant-ligatures: none;
1323
+ font-variant-numeric: slashed-zero;
1324
+ }
1325
+ .utrecht-html input[autocomplete~=bday i],
1326
+ .utrecht-html input[autocomplete~=bday-day i],
1327
+ .utrecht-html input[autocomplete~=bday-month i],
1328
+ .utrecht-html input[autocomplete~=bday-year i],
1329
+ .utrecht-html input[autocomplete~=cc-csc i],
1330
+ .utrecht-html input[autocomplete~=cc-exp i],
1331
+ .utrecht-html input[autocomplete~=cc-exp-month i],
1332
+ .utrecht-html input[autocomplete~=cc-exp-year i],
1333
+ .utrecht-html input[autocomplete~=cc-number i],
1334
+ .utrecht-html input[autocomplete~=one-time-code i],
1335
+ .utrecht-html input[autocomplete~=postal-code i],
1336
+ .utrecht-html input[autocomplete~=tel i],
1337
+ .utrecht-html input[autocomplete~=tel-area-code i],
1338
+ .utrecht-html input[autocomplete~=tel-country-code i],
1339
+ .utrecht-html input[autocomplete~=tel-extension i],
1340
+ .utrecht-html input[autocomplete~=tel-local i],
1341
+ .utrecht-html input[autocomplete~=tel-national i],
1342
+ .utrecht-html input[autocomplete~=transaction-amount i],
1343
+ .utrecht-html input[inputmode=decimal i],
1344
+ .utrecht-html input[inputmode=numeric i],
1345
+ .utrecht-html input[inputmode=tel i],
1346
+ .utrecht-html input[type=number i],
1347
+ .utrecht-html input[type=tel i] {
1348
+ -moz-appearance: textfield; /* avoid spinner input in Firefox */
1349
+ font-variant-numeric: lining-nums tabular-nums;
1350
+ }
1351
+ .utrecht-html input[inputmode=email i],
1352
+ .utrecht-html input[inputmode=url i],
1353
+ .utrecht-html input[type=email i],
1354
+ .utrecht-html input[type=url i] {
1355
+ font-variant-ligatures: none;
1356
+ }
1357
+ .utrecht-html ul {
1370
1358
  font-family: var(--utrecht-document-font-family, inherit);
1371
1359
  font-size: var(--utrecht-document-font-size, inherit);
1372
1360
  line-height: var(--utrecht-document-line-height, inherit);
1373
- padding-inline-start: 2ch;
1374
- }
1375
-
1376
- .utrecht-unordered-list--distanced, .utrecht-html ul {
1377
- margin-block-start: var(--utrecht-unordered-list-margin-block-start, var(--utrecht-paragraph-margin-block-start));
1378
- margin-block-end: var(--utrecht-unordered-list-margin-block-end, var(--utrecht-paragraph-margin-block-end));
1379
- }
1380
-
1381
- .utrecht-unordered-list--nested {
1382
- margin-inline-start: 2ch;
1383
- margin-block-end: 0;
1361
+ margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-unordered-list-margin-block-end, var(--utrecht-paragraph-margin-block-end, 0)));
1362
+ margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-unordered-list-margin-block-start, var(--utrecht-paragraph-margin-block-start, 0)));
1363
+ padding-inline-start: var(--utrecht-unordered-list-padding-inline-start, 2ch);
1364
+ --utrecht-space-around: 1;
1384
1365
  }
1385
-
1386
- .utrecht-unordered-list__item, .utrecht-html ul > li {
1387
- padding-inline-start: 1ch;
1388
- margin-block-start: var(--utrecht-unordered-list-item-margin-block-start);
1366
+ .utrecht-html ul > li {
1389
1367
  margin-block-end: var(--utrecht-unordered-list-item-margin-block-end);
1368
+ margin-block-start: var(--utrecht-unordered-list-item-margin-block-start);
1369
+ padding-inline-start: var(--utrecht-unordered-list-item-padding-inline-start, 1ch);
1390
1370
  }
1391
-
1392
- .utrecht-unordered-list__item::marker, .utrecht-html ul > li::marker,
1393
- .utrecht-unordered-list__marker {
1371
+ .utrecht-html ul > li::marker {
1394
1372
  color: var(--utrecht-unordered-list-marker-color);
1395
1373
  content: "●";
1396
1374
  }