@use 'ngx-tethys/styles/basic.scss';

$progress-pointer-color: basic.$primary !default;

@mixin progress-type($color) {
    .thy-media-progress-rail {
        background-color: basic.$gray-200;
        .thy-media-progress-track {
            background-color: $color;
        }
        .thy-media-progress-pointer {
            background-color: $color;
        }
        .thy-media-progress-buffer {
            background-color: rgba($color: $color, $alpha: 0.4);
        }
    }
}

@mixin progress-type-styles() {
    .thy-media-progress-primary {
        @include progress-type(basic.$primary);
    }
    .thy-media-progress-success {
        @include progress-type(basic.$success);
    }
    .thy-media-progress-info {
        @include progress-type(basic.$info);
    }
    .thy-media-progress-warning {
        @include progress-type(basic.$warning);
    }
    .thy-media-progress-danger {
        @include progress-type(basic.$danger);
    }
}

.thy-media-progress {
    display: block;
    height: 12px;
    padding: 4px 0;
    &-rail,
    &-track,
    &-buffer {
        height: 4px;
        border-radius: 2px;
    }
    &-rail {
        cursor: pointer;
        position: relative;
        background-color: basic.$gray-400;
    }
    &-track {
        z-index: 1;
        position: absolute;
        left: 0;
        background-color: basic.$bg-default;
    }
    &-buffer {
        position: absolute;
        background-color: basic.$gray-200;
    }
    &-pointer {
        position: absolute;
        transform: scale(0);
        top: -4px;
        right: -6px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        transition: all 0.3s ease-in-out;
        background-color: $progress-pointer-color;
    }

    &:hover {
        .thy-media-progress-pointer {
            transform: scale(1);
        }
    }
}
.thy-media-progress-vertical {
    padding: 0 4px;
    .thy-media-progress-rail,
    .thy-media-progress-track {
        width: 4px;
    }
    .thy-media-progress-buffer {
        height: unset;
    }
    .thy-media-progress-rail {
        height: 100%;
    }
    .thy-media-progress-pointer {
        right: -4px;
        bottom: -6px;
        top: unset;
    }
}
@include progress-type-styles();
