@use "../core/_index.scss" as *;
@use "@progress/kendo-theme-core/scss/functions/index.scss" as *;
@use "./_variables.scss" as *;
@use "@progress/kendo-theme-core/scss/components/progressbar/_theme.scss" as *;

@mixin kendo-progressbar--theme {
    @include kendo-progressbar--theme-base();

    @keyframes progressbar-indeterminate-animation-horizontal {
        from {
            inset-inline-start: -25%;
        }
        to {
            inset-inline-start: 100%;
        }
    }

    @keyframes progressbar-indeterminate-animation-vertical {
        from {
            inset-block-end: -25%;
        }
        to {
            inset-block-end: 100%;
        }
    }

    .k-progressbar {
        &:not(.k-progressbar-indeterminate) {
            &[disabled],
            &:disabled,
            &.k-disabled {
                @include fill(
                    $kendo-progressbar-disabled-text,
                    $kendo-progressbar-disabled-bg,
                    $kendo-progressbar-disabled-border
                );

                .k-selected {
                    background-color: $kendo-progressbar-value-disabled-bg;
                }
            }
        }
    }

    .k-progressbar.k-chunk-progressbar:not(.k-progressbar-indeterminate) {
        background-color: k-if-var( $kendo-progressbar-chunk-border, transparent );
    }

    .k-progressbar-indeterminate {
        background-image: none;

        &.k-progressbar-horizontal {
            &::after {
                background: $kendo-progressbar-indeterminate-gradient-horizontal;
                animation: $kendo-progressbar-indeterminate-animation-horizontal;
            }
        }

        &.k-progressbar-vertical {
            &::after {
                background: $kendo-progressbar-indeterminate-gradient-vertical;
                animation: $kendo-progressbar-indeterminate-animation-vertical;
            }
        }
    }
}
