@import '../mixins/mixins.less';
@import '../mixins/config.less';

@disabledCls: ~'@{ns}-check-card--disabled';

.b(check-card, {
  border-radius: 4px;
  position: relative;
  &--disabled {
    background-color: #F9F9FA;
    cursor: not-allowed !important;
  }
  &--bordered {
    outline: 1px solid var(--check-card-outline-color, #E9EDF3);
  }
  &:hover:not(&--disabled) {
    cursor: pointer;
    outline: 1px solid var(--check-card-hover-outline-color, #0070ff);
  }
  &::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    inset-block-start: -2px;
    inset-inline-end: -2px;
    border-inline-start: var(--check-card-indicator-size, 16px) solid transparent;
    border-block-end: var(--check-card-indicator-size, 16px) solid transparent;
    border-radius: 4px;
  }
  &--checked {
    &:hover:not(.@{disabledCls}) {
      outline: 2px solid var(--check-card-checked-outline-color, #0070ff);
    }
    outline: 2px solid var(--check-card-checked-outline-color, #0070ff);
    &::after {
      opacity: 1;
      border: var(--check-card-indicator-size, 16px) solid var(--check-card-checked-bg, #0070ff);
      border-inline-start: var(--check-card-indicator-size, 16px) solid transparent;
      border-block-end: var(--check-card-indicator-size, 16px) solid transparent;
      inset-block-start: -2px;
      inset-inline-end: -2px;
      transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    }
  }
  &--checked&--disabled {
    outline-color: #E9EDF3;
    &::after {
      border: var(--check-card-indicator-size, 16px) solid #E9EDF3;
      border-inline-start: var(--check-card-indicator-size, 16px) solid transparent;
      border-block-end: var(--check-card-indicator-size, 16px) solid transparent;
    }
  }
  &--middle {
    padding: 16px 24px;
  }
  &--small {
    padding: 12px 24px;
  }
  &__title {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 22px;
    color: #333;
    font-weight: 500;
    &--disabled {
      color: #ABB7CC;
    }
  }
  &__content {
    font-size: 14px;
    line-height: 22px;
    color: #333;
    &--disabled {
      color: #ABB7CC;
    }
  }
  &__checked-icon {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    line-height: 1;
    user-select: none;
    & > img {
      width: calc(var(--check-card-indicator-size, 16px) - 2px);
      vertical-align: top;
    }
  }
});
