@@ -428,6 +428,21 @@ $input-valid-types:
428428 }
429429}
430430
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+
431446// CHECKBOX & RADIO
432447
433448@mixin get-validity-color-check ($key : " valid" ) {
@@ -495,6 +510,42 @@ $input-valid-types:
495510 @include get-validity-color-check (" invalid" );
496511 }
497512
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+
498549 & :has (input :disabled ) {
499550 opacity : component .$default-disabled ;
500551 }
0 commit comments