@utrecht/component-library-css 1.0.0-alpha.206 → 1.0.0-alpha.209
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/bem.css +324 -98
- package/dist/index.css +395 -131
- package/dist/root-theme.css +2 -1
- package/package.json +3 -3
- package/src/bem.scss +35 -33
package/dist/bem.css
CHANGED
|
@@ -342,7 +342,7 @@ ol.utrecht-breadcrumb__list {
|
|
|
342
342
|
* Copyright (c) 2021 Robbert Broersma
|
|
343
343
|
*/
|
|
344
344
|
/* stylelint-disable-next-line block-no-empty */
|
|
345
|
-
.utrecht-button {
|
|
345
|
+
.utrecht-button, .utrecht-button-link {
|
|
346
346
|
background-color: var(--utrecht-button-primary-action-background-color, var(--utrecht-button-background-color));
|
|
347
347
|
border-color: var(--utrecht-button-border-color, transparent);
|
|
348
348
|
border-radius: var(--utrecht-button-border-radius);
|
|
@@ -380,7 +380,7 @@ ol.utrecht-breadcrumb__list {
|
|
|
380
380
|
cursor: var(--utrecht-action-busy-cursor);
|
|
381
381
|
}
|
|
382
382
|
|
|
383
|
-
.utrecht-button:disabled,
|
|
383
|
+
.utrecht-button:disabled, .utrecht-button-link:disabled,
|
|
384
384
|
.utrecht-button--disabled {
|
|
385
385
|
background-color: var(--utrecht-button-disabled-background-color, var(--utrecht-button-background-color));
|
|
386
386
|
border-color: var(--utrecht-button-disabled-border-color, var(--utrecht-button-border-color));
|
|
@@ -388,14 +388,14 @@ ol.utrecht-breadcrumb__list {
|
|
|
388
388
|
cursor: var(--utrecht-action-disabled-cursor);
|
|
389
389
|
}
|
|
390
390
|
|
|
391
|
-
.utrecht-button:active:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled),
|
|
391
|
+
.utrecht-button:active:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled), .utrecht-button-link:active:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled),
|
|
392
392
|
.utrecht-button--active {
|
|
393
393
|
background-color: var(--utrecht-button-active-background-color, var(--utrecht-button-background-color));
|
|
394
394
|
border-color: var(--utrecht-button-active-border-color, var(--utrecht-button-border-color));
|
|
395
395
|
color: var(--utrecht-button-active-color, var(--utrecht-button-color));
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
.utrecht-button--focus-visible, .utrecht-button:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
398
|
+
.utrecht-button--focus-visible, .utrecht-button-link--focus-visible, .utrecht-button:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled), .utrecht-button-link:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
399
399
|
/* the pseudo-class for `:focus-visible` is implemented via the mixin */
|
|
400
400
|
box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
|
|
401
401
|
outline-color: var(--utrecht-focus-outline-color, transparent);
|
|
@@ -404,7 +404,7 @@ ol.utrecht-breadcrumb__list {
|
|
|
404
404
|
outline-width: var(--utrecht-focus-outline-width, 0);
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
-
.utrecht-button--focus, .utrecht-button:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
407
|
+
.utrecht-button--focus, .utrecht-button-link--focus, .utrecht-button:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled), .utrecht-button-link:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
408
408
|
background-color: var(--utrecht-button-focus-background-color, var(--utrecht-button-background-color));
|
|
409
409
|
border-color: var(--utrecht-button-focus-border-color, var(--utrecht-button-border-color));
|
|
410
410
|
color: var(--utrecht-button-focus-color, var(--utrecht-button-color));
|
|
@@ -412,20 +412,161 @@ ol.utrecht-breadcrumb__list {
|
|
|
412
412
|
|
|
413
413
|
/* override the `:focus` selector above */
|
|
414
414
|
/* stylelint-disable-next-line no-descending-specificity */
|
|
415
|
-
.utrecht-button:focus:not(:focus-visible) {
|
|
415
|
+
.utrecht-button:focus:not(:focus-visible), .utrecht-button-link:focus:not(:focus-visible) {
|
|
416
416
|
/* undo focus ring */
|
|
417
417
|
box-shadow: none;
|
|
418
418
|
outline-style: none;
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
.utrecht-button--hover:not(:disabled),
|
|
422
|
-
.utrecht-button:hover:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled)
|
|
421
|
+
.utrecht-button--hover:not(:disabled), .utrecht-button-link--hover:not(:disabled),
|
|
422
|
+
.utrecht-button:hover:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled),
|
|
423
|
+
.utrecht-button-link:hover:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
423
424
|
background-color: var(--utrecht-button-hover-background-color, var(--utrecht-button-background-color));
|
|
424
425
|
border-color: var(--utrecht-button-hover-border-color, var(--utrecht-button-border-color));
|
|
425
426
|
color: var(--utrecht-button-hover-color, var(--utrecht-button-color));
|
|
426
427
|
transform: scale(var(--utrecht-button-focus-transform-scale, 1));
|
|
427
428
|
}
|
|
428
429
|
|
|
430
|
+
/**
|
|
431
|
+
* @license EUPL-1.2
|
|
432
|
+
* Copyright (c) 2022 Frameless B.V.
|
|
433
|
+
*/
|
|
434
|
+
.utrecht-button-group {
|
|
435
|
+
background-color: var(--utrecht-button-group-background-color);
|
|
436
|
+
display: flex;
|
|
437
|
+
min-block-size: var(--utrecht-button-block-size);
|
|
438
|
+
padding-block-end: var(--utrecht-button-group-padding-block-end);
|
|
439
|
+
padding-block-start: var(--utrecht-button-group-padding-block-start);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.utrecht-button-group--distance {
|
|
443
|
+
margin-block-end: var(--utrecht-button-group-margin-block-end);
|
|
444
|
+
margin-block-start: var(--utrecht-button-group-margin-block-start);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.utrecht-button-group,
|
|
448
|
+
.utrecht-button-group--horizontal {
|
|
449
|
+
gap: var(--utrecht-button-group-inline-gap, 1em);
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
.utrecht-button-group__button-link--horizontal,
|
|
453
|
+
.utrecht-button-group--horizontal .utrecht-button-link,
|
|
454
|
+
.utrecht-button-group:not(.utrecht-button-group--vertical) .utrecht-button-link {
|
|
455
|
+
--utrecht-button-padding-inline-end: 0;
|
|
456
|
+
--utrecht-button-padding-inline-start: 0;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
.utrecht-button-group--vertical {
|
|
460
|
+
flex-direction: column;
|
|
461
|
+
gap: var(--utrecht-button-group-block-gap, 1em);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* @license EUPL-1.2
|
|
466
|
+
* Copyright (c) 2021 The Knights Who Say NIH! B.V.
|
|
467
|
+
* Copyright (c) 2021 Gemeente Utrecht
|
|
468
|
+
*/
|
|
469
|
+
/**
|
|
470
|
+
* @license EUPL-1.2
|
|
471
|
+
* Copyright (c) 2021 The Knights Who Say NIH! B.V.
|
|
472
|
+
* Copyright (c) 2021 Gemeente Utrecht
|
|
473
|
+
*/
|
|
474
|
+
/**
|
|
475
|
+
* @license EUPL-1.2
|
|
476
|
+
* Copyright (c) 2021 Gemeente Utrecht
|
|
477
|
+
* Copyright (c) 2021 Robbert Broersma
|
|
478
|
+
*/
|
|
479
|
+
/* stylelint-disable-next-line block-no-empty */
|
|
480
|
+
.utrecht-button, .utrecht-button-link {
|
|
481
|
+
background-color: var(--utrecht-button-primary-action-background-color, var(--utrecht-button-background-color));
|
|
482
|
+
border-color: var(--utrecht-button-border-color, transparent);
|
|
483
|
+
border-radius: var(--utrecht-button-border-radius);
|
|
484
|
+
border-style: solid;
|
|
485
|
+
border-width: var(--utrecht-button-border-width, 0);
|
|
486
|
+
color: var(--utrecht-button-primary-action-color, var(--utrecht-button-color));
|
|
487
|
+
font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
|
|
488
|
+
font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
|
|
489
|
+
font-weight: var(--utrecht-button-font-weight);
|
|
490
|
+
inline-size: var(--utrecht-button-inline-size, auto);
|
|
491
|
+
letter-spacing: var(--utrecht-button-letter-spacing);
|
|
492
|
+
min-block-size: var(--utrecht-button-min-block-size, auto);
|
|
493
|
+
min-inline-size: var(--utrecht-button-min-inline-size, 0);
|
|
494
|
+
padding-block-end: var(--utrecht-button-padding-block-end);
|
|
495
|
+
padding-block-start: var(--utrecht-button-padding-block-start);
|
|
496
|
+
padding-inline-end: var(--utrecht-button-padding-inline-end);
|
|
497
|
+
padding-inline-start: var(--utrecht-button-padding-inline-start);
|
|
498
|
+
text-transform: var(--utrecht-button-text-transform);
|
|
499
|
+
user-select: none;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.utrecht-button--distanced {
|
|
503
|
+
margin-block-end: var(--utrecht-button-margin-block-end);
|
|
504
|
+
margin-block-start: var(--utrecht-button-margin-block-start);
|
|
505
|
+
margin-inline-end: var(--utrecht-button-margin-inline-end);
|
|
506
|
+
margin-inline-start: var(--utrecht-button-margin-inline-start);
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
.utrecht-button--submit {
|
|
510
|
+
/* lower priority specificty than busy and disabled cursor */
|
|
511
|
+
cursor: var(--utrecht-action-submit-cursor);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
.utrecht-button--busy {
|
|
515
|
+
cursor: var(--utrecht-action-busy-cursor);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
.utrecht-button:disabled, .utrecht-button-link:disabled,
|
|
519
|
+
.utrecht-button--disabled {
|
|
520
|
+
background-color: var(--utrecht-button-disabled-background-color, var(--utrecht-button-background-color));
|
|
521
|
+
border-color: var(--utrecht-button-disabled-border-color, var(--utrecht-button-border-color));
|
|
522
|
+
color: var(--utrecht-button-disabled-color, var(--utrecht-button-color));
|
|
523
|
+
cursor: var(--utrecht-action-disabled-cursor);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
.utrecht-button:active:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled), .utrecht-button-link:active:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled),
|
|
527
|
+
.utrecht-button--active {
|
|
528
|
+
background-color: var(--utrecht-button-active-background-color, var(--utrecht-button-background-color));
|
|
529
|
+
border-color: var(--utrecht-button-active-border-color, var(--utrecht-button-border-color));
|
|
530
|
+
color: var(--utrecht-button-active-color, var(--utrecht-button-color));
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
.utrecht-button--focus-visible, .utrecht-button-link--focus-visible, .utrecht-button:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled), .utrecht-button-link:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
534
|
+
/* the pseudo-class for `:focus-visible` is implemented via the mixin */
|
|
535
|
+
box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
|
|
536
|
+
outline-color: var(--utrecht-focus-outline-color, transparent);
|
|
537
|
+
outline-offset: var(--utrecht-focus-outline-offset, 0);
|
|
538
|
+
outline-style: var(--utrecht-focus-outline-style, solid);
|
|
539
|
+
outline-width: var(--utrecht-focus-outline-width, 0);
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
.utrecht-button--focus, .utrecht-button-link--focus, .utrecht-button:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled), .utrecht-button-link:focus:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
543
|
+
background-color: var(--utrecht-button-focus-background-color, var(--utrecht-button-background-color));
|
|
544
|
+
border-color: var(--utrecht-button-focus-border-color, var(--utrecht-button-border-color));
|
|
545
|
+
color: var(--utrecht-button-focus-color, var(--utrecht-button-color));
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
/* override the `:focus` selector above */
|
|
549
|
+
/* stylelint-disable-next-line no-descending-specificity */
|
|
550
|
+
.utrecht-button:focus:not(:focus-visible), .utrecht-button-link:focus:not(:focus-visible) {
|
|
551
|
+
/* undo focus ring */
|
|
552
|
+
box-shadow: none;
|
|
553
|
+
outline-style: none;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
.utrecht-button--hover:not(:disabled), .utrecht-button-link--hover:not(:disabled),
|
|
557
|
+
.utrecht-button:hover:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled),
|
|
558
|
+
.utrecht-button-link:hover:not(:disabled):not([aria-disabled=true]):not(.utrecht-button--disabled) {
|
|
559
|
+
background-color: var(--utrecht-button-hover-background-color, var(--utrecht-button-background-color));
|
|
560
|
+
border-color: var(--utrecht-button-hover-border-color, var(--utrecht-button-border-color));
|
|
561
|
+
color: var(--utrecht-button-hover-color, var(--utrecht-button-color));
|
|
562
|
+
transform: scale(var(--utrecht-button-focus-transform-scale, 1));
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.utrecht-button-link {
|
|
566
|
+
cursor: var(--utrecht-action-navigate-cursor, pointer);
|
|
567
|
+
text-decoration: none;
|
|
568
|
+
}
|
|
569
|
+
|
|
429
570
|
/**
|
|
430
571
|
* @license EUPL-1.2
|
|
431
572
|
* Copyright (c) 2021 Robbert Broersma
|
|
@@ -1196,6 +1337,170 @@ ol.utrecht-breadcrumb__list {
|
|
|
1196
1337
|
height: 1em;
|
|
1197
1338
|
}
|
|
1198
1339
|
|
|
1340
|
+
/**
|
|
1341
|
+
* @license EUPL-1.2
|
|
1342
|
+
* Copyright (c) 2022 Robbert Broersma
|
|
1343
|
+
*/
|
|
1344
|
+
/**
|
|
1345
|
+
* @license EUPL-1.2
|
|
1346
|
+
* Copyright (c) 2021 The Knights Who Say NIH! B.V.
|
|
1347
|
+
* Copyright (c) 2021 Gemeente Utrecht
|
|
1348
|
+
*/
|
|
1349
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
1350
|
+
/**
|
|
1351
|
+
* @license EUPL-1.2
|
|
1352
|
+
* Copyright (c) 2021 Gemeente Utrecht
|
|
1353
|
+
* Copyright (c) 2021 Robbert Broersma
|
|
1354
|
+
*/
|
|
1355
|
+
/* stylelint-disable-next-line block-no-empty */
|
|
1356
|
+
/*
|
|
1357
|
+
|
|
1358
|
+
# CSS implementation
|
|
1359
|
+
|
|
1360
|
+
## `text-decoration-skip`
|
|
1361
|
+
|
|
1362
|
+
`text-decoration-skip` can be helpful to avoid making some texts unreadable.
|
|
1363
|
+
For example by obscuring Arabic diacritics.
|
|
1364
|
+
|
|
1365
|
+
However, the combination of a greater thickness and skipping this thick underline
|
|
1366
|
+
leads to a very unappealing rendering of the underline. To avoid this,
|
|
1367
|
+
`text-decoration-skip` is disabled for interactive states.
|
|
1368
|
+
|
|
1369
|
+
For design token configurations that have identical thickness for normal and interactive
|
|
1370
|
+
states, this will lead to the (undesirable) effect that the focus/hover effect is switching
|
|
1371
|
+
from an interrupted to an uninterrupted underline (for some texts).
|
|
1372
|
+
|
|
1373
|
+
Apart from making `skip-ink` configurable for normal/focus/hover, there is no good solution yet.
|
|
1374
|
+
|
|
1375
|
+
---
|
|
1376
|
+
|
|
1377
|
+
Disabling `text-decoration-skip` for interactive states obscures some texts, and we assume for now
|
|
1378
|
+
that moving the pointer away from a link or having focus elsewhere first is simple enough to
|
|
1379
|
+
not make this too inconvenient.
|
|
1380
|
+
|
|
1381
|
+
---
|
|
1382
|
+
|
|
1383
|
+
Some folks implement the underline of links using `border-bottom` or even using a finely crafted
|
|
1384
|
+
`linear-gradient()` with a solid color at the bottom and transparent behind the text. These approaches
|
|
1385
|
+
would unfortunately not be able to provide the improved readability of `text-decoration-skip`.
|
|
1386
|
+
|
|
1387
|
+
## `text-decoration-thickness`
|
|
1388
|
+
|
|
1389
|
+
Varying `text-decoration-thickness` can be used to distinguish interactive states.
|
|
1390
|
+
|
|
1391
|
+
---
|
|
1392
|
+
|
|
1393
|
+
`text-decoration-thickness` appears to have rendering differences between Chrome and Safari.
|
|
1394
|
+
In Safari the line becomes thicker with extra pixels added to the bottom, while in Chrome
|
|
1395
|
+
the underline offset also seems to increase along with the thickness, which effectively means
|
|
1396
|
+
the underline is closer to the next line than in Safari.
|
|
1397
|
+
|
|
1398
|
+
---
|
|
1399
|
+
|
|
1400
|
+
It might be nice to use font-relative units for `text-decoration-thickness`, and that is why we
|
|
1401
|
+
use the `max()` function to ensure the underline remains visible for every font size.
|
|
1402
|
+
|
|
1403
|
+
## `transition`
|
|
1404
|
+
|
|
1405
|
+
`text-decoration-thickness` could be a candidate for animating between interactive states,
|
|
1406
|
+
however browsers don't seem to have implemented great looking supixel tweening yet.
|
|
1407
|
+
|
|
1408
|
+
`text-decoration-skip` also makes the transition more challenging to implement.
|
|
1409
|
+
|
|
1410
|
+
*/
|
|
1411
|
+
.utrecht-link, .utrecht-link-button {
|
|
1412
|
+
color: var(--utrecht-link-color, blue);
|
|
1413
|
+
text-decoration: var(--utrecht-link-text-decoration, underline);
|
|
1414
|
+
text-decoration-skip-ink: all;
|
|
1415
|
+
text-decoration-thickness: max(var(--utrecht-link-text-decoration-thickness), 1px);
|
|
1416
|
+
text-underline-offset: var(--utrecht-link-text-underline-offset);
|
|
1417
|
+
}
|
|
1418
|
+
|
|
1419
|
+
.utrecht-link--icon-left {
|
|
1420
|
+
background-image: var(--utrecht-link-icon-left-background-image, none);
|
|
1421
|
+
background-position: 0 0.25em;
|
|
1422
|
+
background-repeat: no-repeat;
|
|
1423
|
+
color: var(--utrecht-link-color, blue);
|
|
1424
|
+
font-weight: var(--utrecht-typography-weight-scale-bold-font-weight);
|
|
1425
|
+
padding-inline-start: var(--utrecht-space-block-md);
|
|
1426
|
+
text-decoration: none;
|
|
1427
|
+
}
|
|
1428
|
+
|
|
1429
|
+
.utrecht-link:visited, .utrecht-link-button:visited,
|
|
1430
|
+
.utrecht-link--visited {
|
|
1431
|
+
color: var(--utrecht-link-visited-color, var(--utrecht-link-color));
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1434
|
+
.utrecht-link:hover, .utrecht-link-button:hover,
|
|
1435
|
+
.utrecht-link--hover,
|
|
1436
|
+
.utrecht-link-button--hover {
|
|
1437
|
+
color: var(--utrecht-link-hover-color, var(--utrecht-link-color));
|
|
1438
|
+
text-decoration: var(--utrecht-link-hover-text-decoration, var(--utrecht-link-text-decoration, underline));
|
|
1439
|
+
text-decoration-skip: none;
|
|
1440
|
+
text-decoration-skip-ink: none;
|
|
1441
|
+
text-decoration-thickness: max(var(--utrecht-link-hover-text-decoration-thickness, var(--utrecht-link-text-decoration-thickness)), 1px);
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
.utrecht-link:active, .utrecht-link-button:active,
|
|
1445
|
+
.utrecht-link--active,
|
|
1446
|
+
.utrecht-link-button--active {
|
|
1447
|
+
color: var(--utrecht-link-active-color, var(--utrecht-link-color));
|
|
1448
|
+
}
|
|
1449
|
+
|
|
1450
|
+
.utrecht-link--focus, .utrecht-link-button--focus, .utrecht-link:focus, .utrecht-link-button:focus {
|
|
1451
|
+
color: var(--utrecht-link-focus-color, var(--utrecht-link-color));
|
|
1452
|
+
text-decoration: var(--utrecht-link-focus-text-decoration, var(--utrecht-link-text-decoration, underline));
|
|
1453
|
+
text-decoration-skip: none;
|
|
1454
|
+
text-decoration-skip-ink: none;
|
|
1455
|
+
text-decoration-thickness: max(var(--utrecht-link-focus-text-decoration-thickness, var(--utrecht-link-text-decoration-thickness)), 1px);
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1458
|
+
.utrecht-link--focus-visible, .utrecht-link-button--focus-visible, .utrecht-link:focus, .utrecht-link-button:focus {
|
|
1459
|
+
box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
|
|
1460
|
+
outline-color: var(--utrecht-focus-outline-color, transparent);
|
|
1461
|
+
outline-offset: var(--utrecht-focus-outline-offset, 0);
|
|
1462
|
+
outline-style: var(--utrecht-focus-outline-style, solid);
|
|
1463
|
+
outline-width: var(--utrecht-focus-outline-width, 0);
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1466
|
+
.utrecht-link:focus:not(:focus-visible), .utrecht-link-button:focus:not(:focus-visible) {
|
|
1467
|
+
/* undo focus ring */
|
|
1468
|
+
box-shadow: none;
|
|
1469
|
+
outline-style: none;
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
/* stylelint-disable-next-line block-no-empty */
|
|
1473
|
+
/* stylelint-disable-next-line block-no-empty */
|
|
1474
|
+
.utrecht-link--telephone {
|
|
1475
|
+
white-space: nowrap;
|
|
1476
|
+
}
|
|
1477
|
+
|
|
1478
|
+
/* stylelint-disable-next-line block-no-empty */
|
|
1479
|
+
/* stylelint-disable-next-line block-no-empty */
|
|
1480
|
+
.utrecht-link-button {
|
|
1481
|
+
cursor: pointer;
|
|
1482
|
+
display: inline-flex;
|
|
1483
|
+
font-family: var(--utrecht-button-font-family, var(--utrecht-document-font-family));
|
|
1484
|
+
font-size: var(--utrecht-button-font-size, var(--utrecht-document-font-family));
|
|
1485
|
+
font-weight: var(--utrecht-button-font-weight);
|
|
1486
|
+
inline-size: var(--utrecht-button-inline-size, auto);
|
|
1487
|
+
letter-spacing: var(--utrecht-button-letter-spacing);
|
|
1488
|
+
min-block-size: var(--utrecht-button-min-block-size, auto);
|
|
1489
|
+
min-inline-size: var(--utrecht-button-min-inline-size, 0);
|
|
1490
|
+
padding-block-end: var(--utrecht-button-padding-block-end);
|
|
1491
|
+
padding-block-start: var(--utrecht-button-padding-block-start);
|
|
1492
|
+
padding-inline-end: var(--utrecht-button-padding-inline-end);
|
|
1493
|
+
padding-inline-start: var(--utrecht-button-padding-inline-start);
|
|
1494
|
+
text-transform: var(--utrecht-button-text-transform);
|
|
1495
|
+
user-select: none;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
.utrecht-link-button--html-button {
|
|
1499
|
+
background-color: transparent;
|
|
1500
|
+
/* reset <button> styling */
|
|
1501
|
+
border-width: 0;
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1199
1504
|
/**
|
|
1200
1505
|
* @license EUPL-1.2
|
|
1201
1506
|
* Copyright (c) 2021 Gemeente Utrecht
|
|
@@ -1282,7 +1587,7 @@ however browsers don't seem to have implemented great looking supixel tweening y
|
|
|
1282
1587
|
`text-decoration-skip` also makes the transition more challenging to implement.
|
|
1283
1588
|
|
|
1284
1589
|
*/
|
|
1285
|
-
.utrecht-link {
|
|
1590
|
+
.utrecht-link, .utrecht-link-button {
|
|
1286
1591
|
color: var(--utrecht-link-color, blue);
|
|
1287
1592
|
text-decoration: var(--utrecht-link-text-decoration, underline);
|
|
1288
1593
|
text-decoration-skip-ink: all;
|
|
@@ -1300,13 +1605,14 @@ however browsers don't seem to have implemented great looking supixel tweening y
|
|
|
1300
1605
|
text-decoration: none;
|
|
1301
1606
|
}
|
|
1302
1607
|
|
|
1303
|
-
.utrecht-link:visited,
|
|
1608
|
+
.utrecht-link:visited, .utrecht-link-button:visited,
|
|
1304
1609
|
.utrecht-link--visited {
|
|
1305
1610
|
color: var(--utrecht-link-visited-color, var(--utrecht-link-color));
|
|
1306
1611
|
}
|
|
1307
1612
|
|
|
1308
|
-
.utrecht-link:hover,
|
|
1309
|
-
.utrecht-link--hover
|
|
1613
|
+
.utrecht-link:hover, .utrecht-link-button:hover,
|
|
1614
|
+
.utrecht-link--hover,
|
|
1615
|
+
.utrecht-link-button--hover {
|
|
1310
1616
|
color: var(--utrecht-link-hover-color, var(--utrecht-link-color));
|
|
1311
1617
|
text-decoration: var(--utrecht-link-hover-text-decoration, var(--utrecht-link-text-decoration, underline));
|
|
1312
1618
|
text-decoration-skip: none;
|
|
@@ -1314,12 +1620,13 @@ however browsers don't seem to have implemented great looking supixel tweening y
|
|
|
1314
1620
|
text-decoration-thickness: max(var(--utrecht-link-hover-text-decoration-thickness, var(--utrecht-link-text-decoration-thickness)), 1px);
|
|
1315
1621
|
}
|
|
1316
1622
|
|
|
1317
|
-
.utrecht-link:active,
|
|
1318
|
-
.utrecht-link--active
|
|
1623
|
+
.utrecht-link:active, .utrecht-link-button:active,
|
|
1624
|
+
.utrecht-link--active,
|
|
1625
|
+
.utrecht-link-button--active {
|
|
1319
1626
|
color: var(--utrecht-link-active-color, var(--utrecht-link-color));
|
|
1320
1627
|
}
|
|
1321
1628
|
|
|
1322
|
-
.utrecht-link--focus, .utrecht-link:focus {
|
|
1629
|
+
.utrecht-link--focus, .utrecht-link:focus, .utrecht-link-button:focus, .utrecht-link-button--focus {
|
|
1323
1630
|
color: var(--utrecht-link-focus-color, var(--utrecht-link-color));
|
|
1324
1631
|
text-decoration: var(--utrecht-link-focus-text-decoration, var(--utrecht-link-text-decoration, underline));
|
|
1325
1632
|
text-decoration-skip: none;
|
|
@@ -1327,7 +1634,7 @@ however browsers don't seem to have implemented great looking supixel tweening y
|
|
|
1327
1634
|
text-decoration-thickness: max(var(--utrecht-link-focus-text-decoration-thickness, var(--utrecht-link-text-decoration-thickness)), 1px);
|
|
1328
1635
|
}
|
|
1329
1636
|
|
|
1330
|
-
.utrecht-link--focus-visible, .utrecht-link:focus {
|
|
1637
|
+
.utrecht-link--focus-visible, .utrecht-link:focus, .utrecht-link-button:focus, .utrecht-link-button--focus-visible {
|
|
1331
1638
|
box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
|
|
1332
1639
|
outline-color: var(--utrecht-focus-outline-color, transparent);
|
|
1333
1640
|
outline-offset: var(--utrecht-focus-outline-offset, 0);
|
|
@@ -1335,7 +1642,7 @@ however browsers don't seem to have implemented great looking supixel tweening y
|
|
|
1335
1642
|
outline-width: var(--utrecht-focus-outline-width, 0);
|
|
1336
1643
|
}
|
|
1337
1644
|
|
|
1338
|
-
.utrecht-link:focus:not(:focus-visible) {
|
|
1645
|
+
.utrecht-link:focus:not(:focus-visible), .utrecht-link-button:focus:not(:focus-visible) {
|
|
1339
1646
|
/* undo focus ring */
|
|
1340
1647
|
box-shadow: none;
|
|
1341
1648
|
outline-style: none;
|
|
@@ -1516,87 +1823,6 @@ however browsers don't seem to have implemented great looking supixel tweening y
|
|
|
1516
1823
|
outline-style: none;
|
|
1517
1824
|
}
|
|
1518
1825
|
|
|
1519
|
-
/**
|
|
1520
|
-
* @license EUPL-1.2
|
|
1521
|
-
* Copyright (c) 2021 Gemeente Utrecht
|
|
1522
|
-
*/
|
|
1523
|
-
/**
|
|
1524
|
-
* @license EUPL-1.2
|
|
1525
|
-
* Copyright (c) 2021 Gemeente Utrecht
|
|
1526
|
-
* Copyright (c) 2021 Robbert Broersma
|
|
1527
|
-
*/
|
|
1528
|
-
/* stylelint-disable-next-line block-no-empty */
|
|
1529
|
-
.utrecht-navhtml {
|
|
1530
|
-
font-family: var(--utrecht-font-family-sans-serif);
|
|
1531
|
-
}
|
|
1532
|
-
|
|
1533
|
-
.utrecht-topnav__list {
|
|
1534
|
-
background-color: var(--utrecht-topnav-list-background-color);
|
|
1535
|
-
display: flex;
|
|
1536
|
-
justify-content: space-between;
|
|
1537
|
-
list-style: none;
|
|
1538
|
-
list-style-image: none;
|
|
1539
|
-
margin-block-end: 0;
|
|
1540
|
-
margin-block-start: 0;
|
|
1541
|
-
overflow: visible;
|
|
1542
|
-
padding-block-end: 0;
|
|
1543
|
-
padding-block-start: 0;
|
|
1544
|
-
padding-inline-end: 0;
|
|
1545
|
-
padding-inline-start: 0;
|
|
1546
|
-
}
|
|
1547
|
-
|
|
1548
|
-
.utrecht-topnav__item {
|
|
1549
|
-
border-inline-end: 1px solid var(--utrecht-topnav-list-border-color);
|
|
1550
|
-
flex: 1 0 auto;
|
|
1551
|
-
margin-inline-start: 0;
|
|
1552
|
-
text-align: center;
|
|
1553
|
-
}
|
|
1554
|
-
|
|
1555
|
-
.utrecht-topnav__item li:first-child {
|
|
1556
|
-
border-inline-start: 1px solid var(--utrecht-topnav-list-border-color);
|
|
1557
|
-
padding-inline-start: 0;
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
.utrecht-topnav__link {
|
|
1561
|
-
color: var(--utrecht-topnav-link-color);
|
|
1562
|
-
display: block;
|
|
1563
|
-
padding-block-end: 1rem;
|
|
1564
|
-
padding-block-start: 1rem;
|
|
1565
|
-
text-decoration: none;
|
|
1566
|
-
}
|
|
1567
|
-
|
|
1568
|
-
.utrecht-topnav__link:hover {
|
|
1569
|
-
background-color: var(--utrecht-topnav-link-hover-background-color);
|
|
1570
|
-
color: var(--utrecht-topnav-link-color);
|
|
1571
|
-
text-decoration: underline;
|
|
1572
|
-
}
|
|
1573
|
-
|
|
1574
|
-
.utrecht-topnav__link--current {
|
|
1575
|
-
background-color: var(--utrecht-topnav-list-background-active);
|
|
1576
|
-
text-decoration: underline;
|
|
1577
|
-
}
|
|
1578
|
-
|
|
1579
|
-
.utrecht-topnav__link--focus, .utrecht-topnav__link:focus {
|
|
1580
|
-
background-color: var(--utrecht-topnav-link-focus-background-color);
|
|
1581
|
-
/* #ffd633 */
|
|
1582
|
-
color: var(--utrecht-topnav-link-focus-color, var(--utrecht-topnav-link-color));
|
|
1583
|
-
text-decoration: var(--utrecht-topnav-link-focus-text-decoration, var(--utrecht-topnav-link-text-decoration, underline));
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
|
-
.utrecht-topnav__link--focus-visible, .utrecht-topnav__link:focus {
|
|
1587
|
-
box-shadow: 0 0 0 var(--utrecht-focus-box-shadow-spread-radius, 0) var(--utrecht-focus-box-shadow-color, transparent);
|
|
1588
|
-
outline-color: var(--utrecht-focus-outline-color, transparent);
|
|
1589
|
-
outline-offset: var(--utrecht-focus-outline-offset, 0);
|
|
1590
|
-
outline-style: var(--utrecht-focus-outline-style, solid);
|
|
1591
|
-
outline-width: var(--utrecht-focus-outline-width, 0);
|
|
1592
|
-
}
|
|
1593
|
-
|
|
1594
|
-
.utrecht-topnav__link:focus:not(:focus-visible) {
|
|
1595
|
-
/* undo focus ring */
|
|
1596
|
-
box-shadow: none;
|
|
1597
|
-
outline-style: none;
|
|
1598
|
-
}
|
|
1599
|
-
|
|
1600
1826
|
/**
|
|
1601
1827
|
* @license EUPL-1.2
|
|
1602
1828
|
* Copyright (c) 2021 The Knights Who Say NIH! B.V.
|