@@ -428,6 +428,21 @@ $input-valid-types:
428
428
}
429
429
}
430
430
431
+ @mixin get-validity-color-check-label-color ($state , $key : " valid" ) {
432
+ $variant : successful;
433
+
434
+ @if ($key != " valid" ) {
435
+ $variant : critical;
436
+ }
437
+
438
+ & :has (input :not ([role = " switch" ])) {
439
+ & :is (label ),
440
+ > label {
441
+ color : var (--db - #{$variant } - on-bg-basic-emphasis-100-#{$state} );
442
+ }
443
+ }
444
+ }
445
+
431
446
// CHECKBOX & RADIO
432
447
433
448
@mixin get-validity-color-check ($key : " valid" ) {
@@ -495,6 +510,42 @@ $input-valid-types:
495
510
@include get-validity-color-check (" invalid" );
496
511
}
497
512
513
+ @include helpers .hover {
514
+ color : colors .$db-adaptive-on-bg-basic-emphasis-100-hovered ;
515
+
516
+ @include get-validity ($selector , " valid" ) {
517
+ @include get-validity-color-check-label-color (hovered, " valid" );
518
+ }
519
+
520
+ @include get-validity ($selector , " invalid" ) {
521
+ @include get-validity-color-check-label-color (hovered, " invalid" );
522
+ }
523
+
524
+ @if ($selector == radio) {
525
+ input {
526
+ /* stylelint-disable-next-line db-ux/use-border-width */
527
+ border : #{$check-border-size }
528
+ solid
529
+ var (
530
+ --db-check-element-border-color ,
531
+ #{colors .$db-adaptive-on-bg-basic-emphasis-100-default }
532
+ );
533
+ }
534
+ }
535
+ }
536
+
537
+ @include helpers .active {
538
+ color : colors .$db-adaptive-on-bg-basic-emphasis-100-pressed ;
539
+
540
+ @include get-validity ($selector , " valid" ) {
541
+ @include get-validity-color-check-label-color (pressed, " valid" );
542
+ }
543
+
544
+ @include get-validity ($selector , " invalid" ) {
545
+ @include get-validity-color-check-label-color (pressed, " invalid" );
546
+ }
547
+ }
548
+
498
549
& :has (input :disabled ) {
499
550
opacity : component .$default-disabled ;
500
551
}
0 commit comments