@use "mixins/mixins"; @use "mixins/utils"; @use "input-number"; @use "tooltip"; @use "./common/var"; @include mixins.b(slider) { @include utils.utils-clearfix; @include mixins.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 { background-color: var.$slider-disable-color; } .el-slider__button { border-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; } } } } @include mixins.e(input) { float: right; margin-top: 3px; width: 130px; &.el-input-number--mini { margin-top: 5px; } &.el-input-number--medium { margin-top: 0; } &.el-input-number--large { margin-top: -2px; } } @include mixins.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; } @include mixins.e(button-wrapper) { height: var.$slider-button-wrapper-size; width: 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; line-height: normal; @include utils.utils-vertical-center; .el-tooltip { vertical-align: middle; display: inline-block; } &:hover, &.hover { cursor: grab; } &.dragging { cursor: grabbing; } } @include mixins.e(button) { width: var.$slider-button-size; height: var.$slider-button-size; border: solid 2px var.$slider-main-background-color; background-color: var.$color-white; border-radius: 50%; transition: 0.2s; user-select: none; &:hover, &.hover, &.dragging { transform: scale(1.2); } &:hover, &.hover { cursor: grab; } &.dragging { cursor: grabbing; } } @include mixins.e(stop) { position: absolute; height: var.$slider-height; width: var.$slider-height; border-radius: var.$border-radius-circle; background-color: var.$slider-stop-background-color; transform: translateX(-50%); } @include mixins.e(marks) { top: 0; left: 12px; width: 18px; height: 100%; @include mixins.e(marks-text) { position: absolute; transform: translateX(-50%); font-size: 14px; color: var(--color-info); margin-top: 15px; } } @include mixins.when(vertical) { position: relative; .el-slider__runway { width: var.$slider-height; height: 100%; margin: 0 16px; } .el-slider__bar { width: var.$slider-height; height: auto; border-radius: 0 0 3px 3px; } .el-slider__button-wrapper { top: auto; left: var.$slider-button-wrapper-offset; transform: translateY(50%); } .el-slider__stop { transform: translateY(50%); } &.el-slider--with-input { padding-bottom: #{var.$input-medium-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; } } } } @include mixins.e(marks-text) { margin-top: 0; left: 15px; transform: translateY(50%); } } }