@import 'settings';
@import '../../tools/mixins/border-radius';
@import '../../tools/mixins/flex';
@import '../../tools/mixins/spacing-responsive';
@import '../input/mixins';
@import '~@collab-ui/icons/scss/mixins';

@mixin radio-color(
  $border-color: null,
  $background-color: null,
  $background-color--disabled: null,
  $background-color--hover: null,
  $background-color--checked: null,
  $background-color--checked-hover: null,
  $label-color: null
) {
  .#{$radio__class}__input {
    // Base Radio - Not Selected
    + .#{$radio__class}__label {
      font-family: $input__font-family;
      color: $label-color;

      &:before {
        background-color: $background-color;
        border: 1px solid $border-color;
      }

      &:hover,
      &.hover {
        &:before {
          background-color: $background-color--hover;
        }
      }
    }

    &:focus,
    &.focus {
      + .#{$radio__class}__label {
        &:before {
          @include focus-styles;
        }
      }
    } // Checked
    &:checked {
      + .#{$radio__class}__label {
        &:before {
          background-color: $background-color--checked;
          border: none;
        }

        &:hover,
        &.hover {
          &:before {
            background-color: $background-color--checked-hover;
          }
        }
      }
    } // Disabled Settings
    &:disabled,
    &.disabled {
      + .#{$radio__class}__label {
        &:before {
          background-color: $background-color--disabled;
          border: none;
        }
      } //--> Disabled--Checked/Indeterminate
      &:checked {
        + .#{$radio__class}__label {
          &:before {
            background-color: $background-color--checked;
            border: none;
          }

          &:hover,
          &.hover {
            &:before {
              background-color: $background-color--checked;
            }
          }
        }
      }
    }
  }
}
