@charset "UTF-8";
@import "./input-number.css";
@import "./tooltip.css";
@import "./common/var.css";

@component-namespace el {
  @b slider {
    @utils-clearfix;
    @e runway {
      width: 100%;
      height: var(--slider-height);
      margin: var(--slider-margin);
      border: 1px solid var(--border-color-base);
      box-sizing: border-box;
      background-color: var(--slider-runway-background-color);
      background: linear-gradient(to right, var(--color-white) 29px, var(--border-color-base) 1px);
      background-size: 30px;
      /* border-radius: var(--slider-border-radius); */
      position: relative;
      cursor: pointer;
      vertical-align: middle;

      &.show-input {
        margin-right: 100px;
        width: auto;
      }

      &.disabled {
        cursor: default;

        .el-slider__bar, .el-slider__button {
          background-color: var(--slider-disable-color);
        }

        .el-slider__button-wrapper {
          &:hover,
          &.hover {
            cursor: not-allowed;
          }

          &.dragging {
            cursor: not-allowed;
          }
        }

        .el-slider__button {
          &:hover,
          &.hover,
          &.dragging {
            /* transform: scale(1); */
          }

          &:hover,
          &.hover {
            cursor: not-allowed;
          }

          &.dragging {
            cursor: not-allowed;
          }
        }
      }
    }

    @e input {
      float: right;
      margin-top: 18px;
    }

    @e bar {
      height: var(--slider-height);
      background-color: var(--slider-main-background-color);
      background: linear-gradient(to right, var(--slider-main-background-color) 29px, #74dbc5 1px);
      background-size: 30px;
      /* border-top-left-radius: var(--slider-border-radius); */
      /* border-bottom-left-radius: var(--slider-border-radius); */
      position: absolute;
      top: -1px;
    }

    @e button-wrapper {
      size: var(--slider-button-wrapper-size);
      height: 38px;
      position: absolute;
      z-index: 1001;
      top: var(--slider-button-wrapper-offset);
      transform: translateX(-50%);
      background-color: transparent;
      text-align: center;
      user-select: none;
      @utils-vertical-center;

      .el-tooltip {
        vertical-align: middle;
        display: inline-block;
        box-sizing: border-box;
        border: 1px solid var(--border-color-base);
        background: white;
        background: linear-gradient(white, var(--border-color-base));
        /* background-size:  */

        &.dragging {
          outline: -webkit-focus-ring-color auto 5px;
        }
      }

      &:hover,
      &.hover {
        cursor: grab;
      }

      &.dragging {
        cursor: grabbing;
      }
    }

    @e button {
      size: var(--slider-button-size);
      height: 38px;
      background-color: var(--slider-main-background-color);
      /* border-radius: 50%; */
      /* transition: .2s; */
      user-select: none;

      &:hover,
      &.hover,
      &.dragging {
        /* transform: scale(1.5); */
        /* background-color: var(--slider-button-hover-color); */
      }

      &:hover,
      &.hover {
        cursor: grab;
      }

      &.dragging {
        cursor: grabbing;
      }
    }

    @e stop {
      position: absolute;
      size: var(--slider-height);
      /* border-radius: var(--border-radius-circle); */
      background-color: var(--slider-stop-background-color);
      transform: translateX(-50%);
    }

    @when vertical {
      position: relative;
      .el-slider__runway {
        width: 4px;
        height: 100%;
        margin: 0 16px;
      }
      .el-slider__bar {
        width: 4px;
        height: auto;
        /* border-radius: 0 0 3px 3px; */
        top: initial;
      }
      .el-slider__button-wrapper {
        top: auto;
        left: var(--slider-button-wrapper-offset);
        transform: translateY(50%);

        .el-slider__button {
          transform: rotate(90deg) translateY(10px);
        }
      }
      .el-slider__stop {
        transform: translateY(50%);
      }
      &.el-slider--with-input {
        padding-bottom: calc(var(--input-large-height) + 22px);
        .el-slider__input {
          overflow: visible;
          float: none;
          position: absolute;
          bottom: 22px;
          width: 36px;
          margin-top: 15px;
          .el-input__inner {
            text-align: center;
            padding-left: 5px;
            padding-right: 5px;
          }
          .el-input-number__decrease,
          .el-input-number__increase
          {
            top: var(--input-small-height);
            margin-top: -1px;
            border: var(--input-border);
            line-height: 20px;
            box-sizing: border-box;
            transition: var(--border-transition-base);
          }
          .el-input-number__decrease {
            width: 18px;
            right: 18px;
            /* border-bottom-left-radius: var(--input-border-radius); */
          }
          .el-input-number__increase {
            width: 19px;
            /* border-bottom-right-radius: var(--input-border-radius); */
            & ~ .el-input .el-input__inner {
              /* border-bottom-left-radius: 0; */
              /* border-bottom-right-radius: 0; */
            }
          }
          &:hover {
            .el-input-number__decrease,
            .el-input-number__increase
            {
              border-color: var(--input-hover-border);
            }
          }
          &:active {
            .el-input-number__decrease,
            .el-input-number__increase
            {
              border-color: var(--input-focus-border);
            }
          }
        }
      }
    }
  }
}
