@import '../../style/_colors.scss'; $slider-background: rgba(19, 82, 150, 0.2); $disabled-slider-background: $dark-gray; //Generates ticks on bar. Not currently used $slider-background-ticks: repeating-linear-gradient(to right, $slider-background, $slider-background 0%, #fff 0%, #fff 1%, $slider-background 1%, $slider-background 25%); $thumb-color: rgba(0, 119, 200, 1); $disabled-thumb-color: $dark-gray; $track-shadow: 0px 0px 0px #000000, 0px 0px 0px #0d0d0d; $thumb-height: 50; $track-height: 3; $input-margin: 20; $-webkit-handle-offset: ($track-height - $thumb-height) / 2; //(thH-ttW) / 2 @mixin thumbStyling { box-shadow: $track-shadow; border: 0px solid #000000; background: $thumb-color; box-shadow: 2px 2px 2px 0px #ccc; height: $thumb-height + px; width: 20px; cursor: pointer; } @mixin inputTrack { width: 100%; height: $track-height + px; cursor: pointer; animate: 0.2s; } @mixin infoBase { display: flex; justify-content: space-between; } @mixin sliderBase { input[type=range] { position:absolute; -webkit-appearance: none; margin: $input-margin + px 0; width: 100%; &:focus { outline: none; } &::-webkit-slider-thumb { @include thumbStyling; -webkit-appearance: none; margin-top: $-webkit-handle-offset + px; } &::-moz-range-thumb { @include thumbStyling; } &::-ms-thumb { @include thumbStyling; } &::-webkit-slider-runnable-track { @include inputTrack; box-shadow: $track-shadow; background: $slider-background; border: 0px solid #000101; } &:focus::-webkit-slider-runnable-track { background: $slider-background; } &::-moz-range-track { @include inputTrack; box-shadow: $track-shadow; background: $slider-background; border: 0px solid #000101; } &::-ms-track { @include inputTrack; background: transparent; border-color: transparent; border-width: 39px 0; color: transparent; } &::-ms-fill-lower { background: $slider-background; border: 0px solid #000101; box-shadow: $track-shadow; } &::-ms-fill-upper { background: #ac51b5; border: 0px solid #000101; box-shadow: $track-shadow; } &:focus::-ms-fill-lower { background: $slider-background; } &:focus::-ms-fill-upper { background: $slider-background; } } &-info { @include infoBase } } .SqRangeInput { &--container { background:white; border: 1px solid #ccc; } &--horizontal { @include sliderBase; position: relative; height:$thumb-height + px; margin: $input-margin / 2 + px; } &--vertical { @include sliderBase; position: relative; input[type=range] { -webkit-appearance: none; height: 100%; width: $track-height + px; transform: rotate(270deg); transform-origin: right; &::-webkit-slider-thumb { box-shadow: -2px 2px 2px 0px #ccc; } &::-moz-range-thumb { box-shadow: -2px 2px 2px 0px #ccc; } &::-ms-thumb { box-shadow: -2px 2px 2px 0px #ccc; } } &-info { @include infoBase; div { transform: translateY(10px) rotate(90deg); } } } &.is-disabled { input[type=range] { &:disabled { &::-webkit-slider-thumb { background: $disabled-thumb-color; } &::-moz-range-thumb { background: $disabled-thumb-color; } &::-ms-thumb { background: $disabled-thumb-color; } &::-webkit-slider-runnable-track { background: $disabled-slider-background; } &:focus::-webkit-slider-runnable-track { background: $disabled-slider-background; } &::-moz-range-track { background: $disabled-slider-background; } &::-ms-track { } &::-ms-fill-upper { background: $disabled-slider-background; } &::-ms-fill-lower { background: $disabled-slider-background; } &:focus::-ms-fill-lower { background: $disabled-slider-background; } &:focus::-ms-fill-upper { background: $disabled-slider-background; } } } } }