|
13 | 13 | } |
14 | 14 |
|
15 | 15 | // stylelint-disable selector-no-qualifying-type |
16 | | - &.was-validated:has(input:invalid) .control-item-error-message, |
17 | 16 | &:has(input.is-invalid) .control-item-error-message { |
18 | 17 | display: block; |
19 | 18 | } |
20 | 19 | // stylelint-enable selector-no-qualifying-type |
21 | 20 | } |
22 | 21 |
|
| 22 | +.was-validated { |
| 23 | + .control-items-list, |
| 24 | + .switch-item-container, |
| 25 | + .checkbox-item-container { |
| 26 | + // stylelint-disable selector-no-qualifying-type |
| 27 | + &:has(input:invalid) .control-item-error-message { |
| 28 | + display: block; |
| 29 | + } |
| 30 | + // stylelint-enable selector-no-qualifying-type |
| 31 | + } |
| 32 | +} |
| 33 | + |
23 | 34 | .control-item-error-message { |
24 | 35 | padding: $ouds-control-item-space-padding-block-top-error-text $ouds-control-item-space-padding-inline 0; |
25 | 36 | color: var(--#{$prefix}color-content-status-negative); |
|
150 | 161 | &:has(input:invalid:active) { |
151 | 162 | --#{$prefix}control-item-label-color: #{$ouds-color-action-negative-pressed}; |
152 | 163 | } |
| 164 | + |
| 165 | + .control-item-indicator:invalid { |
| 166 | + --#{$prefix}control-item-indicator-color: #{$ouds-color-action-negative-enabled}; |
| 167 | + |
| 168 | + &:hover { |
| 169 | + --#{$prefix}control-item-indicator-color: #{$ouds-color-action-negative-hover}; |
| 170 | + } |
| 171 | + |
| 172 | + &:focus-visible { |
| 173 | + --#{$prefix}control-item-indicator-color: #{$ouds-color-action-negative-focus}; |
| 174 | + } |
| 175 | + |
| 176 | + &:active { |
| 177 | + --#{$prefix}control-item-indicator-color: #{$ouds-color-action-negative-pressed}; |
| 178 | + } |
| 179 | + } |
153 | 180 | } |
154 | 181 |
|
155 | 182 | // |
|
417 | 444 | .control-item-divider { |
418 | 445 | padding-bottom: calc($ouds-control-item-space-padding-block-default - $ouds-divider-border-width); |
419 | 446 | border-bottom: $ouds-divider-border-width solid $ouds-color-border-default; |
| 447 | +} |
420 | 448 |
|
421 | | - &:has(.is-invalid), |
422 | | - .was-validated &:has(input:invalid) { |
423 | | - border-color: var(--#{$prefix}control-item-label-color); |
424 | | - } |
| 449 | +.control-item-divider:has(.is-invalid), |
| 450 | +.was-validated .control-item-divider:has(input:invalid) { |
| 451 | + border-color: var(--#{$prefix}control-item-label-color); |
425 | 452 | } |
426 | 453 |
|
427 | 454 | .control-item-reverse { |
428 | 455 | flex-direction: row-reverse; |
| 456 | +} |
429 | 457 |
|
430 | | - // stylelint-disable selector-no-qualifying-type |
431 | | - &:has(input.is-invalid), |
432 | | - .was-validated &:has(input:invalid) { |
433 | | - --#{$prefix}control-item-error-icon-offset-right: unset; |
434 | | - --#{$prefix}control-item-error-icon-offset-left: var(--#{$prefix}control-item-error-icon-offset); |
| 458 | +// stylelint-disable selector-no-qualifying-type |
| 459 | +.control-item-reverse:has(input.is-invalid), |
| 460 | +.was-validated .control-item-reverse:has(input:invalid) { |
| 461 | + --#{$prefix}control-item-error-icon-offset-right: unset; |
| 462 | + --#{$prefix}control-item-error-icon-offset-left: var(--#{$prefix}control-item-error-icon-offset); |
435 | 463 |
|
436 | | - padding-right: $ouds-control-item-space-padding-inline; |
437 | | - padding-left: calc($ouds-control-item-space-padding-inline + $ouds-control-item-size-icon + $ouds-control-item-space-column-gap); |
438 | | - } |
439 | | - // stylelint-enable selector-no-qualifying-type |
| 464 | + padding-right: $ouds-control-item-space-padding-inline; |
| 465 | + padding-left: calc($ouds-control-item-space-padding-inline + $ouds-control-item-size-icon + $ouds-control-item-space-column-gap); |
440 | 466 | } |
| 467 | +// stylelint-enable selector-no-qualifying-type |
441 | 468 |
|
442 | 469 |
|
443 | 470 | // |
|
663 | 690 |
|
664 | 691 | .was-validated .radio-button-item-outlined:has(input:invalid) { |
665 | 692 | border-color: var(--#{$prefix}control-item-label-color); |
| 693 | + |
| 694 | + &:hover, |
| 695 | + &:active, |
| 696 | + &:has(input:checked) { |
| 697 | + --#{$prefix}control-item-error-icon-offset: #{$ouds-control-item-space-padding-inline + $ouds-control-item-space-padding-inline-error-icon - $ouds-divider-border-width}; |
| 698 | + } |
666 | 699 | } |
667 | 700 |
|
668 | 701 |
|
|
700 | 733 | } |
701 | 734 | } |
702 | 735 |
|
| 736 | +.was-validated { |
| 737 | + .switch-item, |
| 738 | + .form-switch { |
| 739 | + // stylelint-disable selector-no-qualifying-type |
| 740 | + &:has(input:invalid) { |
| 741 | + --#{$prefix}control-item-error-icon-offset-right: unset; |
| 742 | + --#{$prefix}control-item-error-icon-offset-left: var(--#{$prefix}control-item-error-icon-offset); |
| 743 | + |
| 744 | + padding-right: $ouds-control-item-space-padding-inline; |
| 745 | + padding-left: calc($ouds-control-item-space-padding-inline + $ouds-control-item-size-icon + $ouds-control-item-space-column-gap); |
| 746 | + } |
| 747 | + // stylelint-enable selector-no-qualifying-type |
| 748 | + |
| 749 | + // stylelint-disable selector-no-qualifying-type |
| 750 | + &.control-item-reverse:has(input:invalid) { |
| 751 | + --#{$prefix}control-item-error-icon-offset-right: var(--#{$prefix}control-item-error-icon-offset); |
| 752 | + --#{$prefix}control-item-error-icon-offset-left: unset; |
| 753 | + |
| 754 | + padding-right: calc($ouds-control-item-space-padding-inline + $ouds-control-item-size-icon + $ouds-control-item-space-column-gap); |
| 755 | + padding-left: $ouds-control-item-space-padding-inline; |
| 756 | + } |
| 757 | + // stylelint-enable selector-no-qualifying-type |
| 758 | + } |
| 759 | +} |
| 760 | + |
703 | 761 | .switch-standalone { |
704 | 762 | @extend %control-item-standalone; |
705 | 763 | padding: 0; |
|
0 commit comments