@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);
      background-color: var(--slider-runway-background-color);
      border-radius: var(--slider-border-radius);
      position: relative;
      cursor: pointer;
      vertical-align: middle;

      &.show-input {
        margin-right: 160px;
        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: 3px;
    }

    @e bar {
      height: var(--slider-height);
      background-color: var(--slider-main-background-color);
      border-top-left-radius: var(--slider-border-radius);
      border-bottom-left-radius: var(--slider-border-radius);
      position: absolute;
    }

    @e button-wrapper {
      size: var(--slider-button-wrapper-size);
      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;
      }

      &:hover,
      &.hover {
        cursor: grab;
      }

      &.dragging {
        cursor: grabbing;
      }
    }

    @e button {
      size: var(--slider-button-size);
      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%);
    }
  }
}
