@import "../../../../lib/style/themes/default";
@import "../../../../lib/style/mixins/index";
@import "mixin";

@radio-prefix-cls: ~"@{c7n-pro-prefix}-radio";
@radio-duration: .3s;

.@{radio-prefix-cls} {
  .radio-btn;

  &-inner {
    position: relative;
    display: inline-block;
    width: @radio-size;
    height: @radio-size;
    border: @border-width-base @border-style-base @border-color-base;
    border-radius: 50%;
    background-color: #fff;
    vertical-align: middle;
    transition: all @radio-duration;
    &:before {
      position: absolute;
      width: .06rem;
      height: .06rem;
      left: .03rem;
      top: .03rem;
      border-radius: .03rem;
      content: " ";
      background-color: @primary-color;
      opacity: 0;
      transform: scale(0);
      transition: all @radio-duration @ease-in-out-circ;
    }
    & + span {
      padding-left: .08rem;
      padding-right: .08rem;
    }
  }
  &:checked + &-inner {
    border-color: @primary-color;
    &:before {
      background-color: @primary-color;
      transform: scale(1);
      opacity: 1;
    }
  }
  &:hover + &-inner,
  &-wrapper:hover &-inner,
  &:focus + &-inner {
    border-color: @primary-7;
    &:before {
      background-color: @primary-7;
    }
  }

  &:focus + &-inner {
    box-shadow: 0 0 @outline-blur-size @outline-width fade(@outline-color, 20%);
  }

  &:disabled + &-inner {
    border-color: @disabled-color !important;
    background-color: @input-disabled-bg;
    &:before {
      background-color: @disabled-color;
    }
  }
  &-button {
    padding: 0 .15rem;
    line-height: .3rem;
    background-color: #fff;
    .@{radio-prefix-cls}-inner {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: auto;
      width: auto;
      background-color: transparent;
      border-radius: @border-radius-base;
      &:before {
        display: none;
      }
      & + span {
        padding: 0;
        position: relative;
      }
    }
    .@{radio-prefix-cls}:checked + .@{radio-prefix-cls}-inner {
      z-index: 1;
      & + span {
        color: @primary-color;
      }
    }
    &:hover .@{radio-prefix-cls}-inner + span {
      color: @primary-color;
    }
  }

  &-button + &-button {
    margin-left: .1rem;
  }
}
