////
/// Radio Scheme : radio
/// @group radio
////

@use 'src/module/color';
@use 'src/module/disabled';

@mixin _radio-scheme-sm($legacy: false) {
  #{ns-group(radio)}--sm {
    input[type="radio"] {
      ~ label {
        @include color.background-image((border action-high blue-france), (legacy:$legacy), radio-background-image(false, sm));
      }

      @include disabled.selector() {
        ~ label {
          @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));
        }
      }

      &:checked {
        ~ label {
          @include color.background-image((border active blue-france) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));
        }

        @include disabled.selector {
          ~ label {
            @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));
          }
        }
      }
    }
  }

  #{ns(fieldset)} {
    &--error {
      #{ns-group(radio)}--sm {
        input[type="radio"] {
          & ~ label {
            @include color.background-image((border plain error), (legacy:$legacy), radio-background-image(false, sm));
          }

          &:checked ~ label {
            @include color.background-image((border plain error) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));
          }
        }
      }
    }

    &--valid {
      #{ns-group(radio)}--sm {
        input[type="radio"] {
          & ~ label {
            @include color.background-image((border plain success), (legacy:$legacy), radio-background-image(false, sm));
          }

          &:checked ~ label {
            @include color.background-image((border plain success) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));
          }
        }
      }
    }

    &--info {
      #{ns-group(radio)}--sm {
        input[type="radio"] {
          & ~ label {
            @include color.background-image((border plain info), (legacy:$legacy), radio-background-image(false, sm));
          }

          &:checked ~ label {
            @include color.background-image((border plain info) (active blue-france), (legacy:$legacy), radio-background-image(true, sm));
          }
        }
      }
    }

    #{ns-group(radio)}--sm {
      input[type="radio"] {
        @include disabled.selector {
          & ~ label {
            @include color.background-image((disabled grey), (legacy:$legacy), radio-background-image(false, sm));
          }

          &:checked ~ label {
            @include color.background-image((disabled grey) (disabled grey), (legacy:$legacy), radio-background-image(true, sm));
          }
        }
      }
    }
  }
}
