@import "../plugins/theme-variables.scss";
@import "~element-ui/packages/theme-chalk/src/mixins/mixins";
@import "~element-ui/packages/theme-chalk/src/mixins/_button";
@import "~element-ui/packages/theme-chalk/src/mixins/utils";
@import "~element-ui/packages/theme-chalk/src/checkbox";

/* ---- jellies checkbox overrides (self-contained; ships with the component) ---- */

/* label.el-checkbox beats element's `.el-checkbox{display:inline-block}` so the flex centring actually applies (incl. is-bordered). */
label.el-checkbox {
  display: inline-flex;
  align-items: center;
}
.el-checkbox__input {
  margin: 0 !important;
  line-height: 1;
  .el-checkbox__inner {
    display: block;
    border-radius: $--border-radius-mini;
    &:hover {
      border-color: #afafaf;
    }
    &::before {
      top: 50% !important;
      margin-top: -1px;
    }
  }
  &.is-focus.is-checked {
    .el-checkbox__inner {
      border-color: #399af4;
    }
  }
}
.el-checkbox__label {
  white-space: normal;
  line-height: 1.45;
}
.el-checkbox .el-checkbox__inner::after {
  left: 50%;
  top: 50%;
  margin: 0;
  transform: translate(-50%, -50%) rotate(45deg) scaleY(0);
}
.el-checkbox .el-checkbox__input.is-checked .el-checkbox__inner::after {
  transform: translate(-50%, -50%) rotate(45deg) scaleY(1);
}
.el-checkbox.checkbox-mini .el-checkbox__inner:after {
  height: 7px;
}
.el-checkbox.checkbox-small {
  &.is-bordered {
    height: 42px;
  }
  .el-checkbox__label {
    font-size: 16px;
    line-height: 21px;
  }
  .el-checkbox__inner {
    width: 16px;
    height: 16px;
    &:after {
      height: 8px;
    }
  }
}
.el-checkbox.checkbox-medium {
  &.is-bordered {
    height: 44px;
  }
  .el-checkbox__label {
    font-size: 18px;
    line-height: 23px;
  }
  .el-checkbox__inner {
    width: 18px;
    height: 18px;
    &:after {
      height: 9px;
    }
  }
}
.el-checkbox.checkbox-large {
  &.is-bordered {
    height: 46px;
  }
  .el-checkbox__label {
    font-size: 20px;
    line-height: 25px;
  }
  .el-checkbox__inner {
    width: 20px;
    height: 20px;
    &:after {
      height: 10px;
    }
  }
}
.el-checkbox.full-width {
  width: 100%;
  height: auto !important;
}
