@use "sass:map";
@use "../core/_index.scss" as *;

/// The height of the ProgressBar.
/// @group progressbar
$kendo-progressbar-height: var( --kendo-progressbar-height, 4px ) !default;
/// The horizontal width of the ProgressBar.
/// @group progressbar
$kendo-progressbar-horizontal-width: var( --kendo-progressbar-horizontal-width, 100% ) !default;
/// The animation timing of the ProgressBar.
/// @group progressbar
$kendo-progressbar-animation-timing: var( --kendo-progressbar-animation-timing, 1s linear infinite ) !default;
/// The width of the border around the ProgressBar.
/// @group progressbar
$kendo-progressbar-border-width: var( --kendo-progressbar-border-width, 0px ) !default;
/// The border radius of the ProgressBar.
/// @group progressbar
$kendo-progressbar-border-radius: var( --kendo-progressbar-border-radius, var( --kendo-border-radius-sm, initial ) ) !default;
/// The font family of the ProgressBar.
/// @group progressbar
$kendo-progressbar-font-family: var( --kendo-progressbar-font-family, var( --kendo-font-family, inherit ) ) !default;
/// The font size of the ProgressBar.
/// @group progressbar
$kendo-progressbar-font-size: var( --kendo-progressbar-font-size, var( --kendo-font-size-sm, inherit ) ) !default;
/// The line height of the ProgressBar.
/// @group progressbar
$kendo-progressbar-line-height: var( --kendo-progressbar-line-height, var( --kendo-line-height-lg, inherit ) ) !default;
/// The horizontal padding of the ProgressBar.
/// @group progressbar
$kendo-progressbar-padding-x: var( --kendo-progressbar-padding-x, #{k-spacing(0)} ) !default;
/// The vertical padding of the ProgressBar.
/// @group progressbar
$kendo-progressbar-padding-y: var( --kendo-progressbar-padding-y, #{k-spacing(0)} ) !default;

/// The background color of the ProgressBar.
/// @group progressbar
$kendo-progressbar-bg: var( --kendo-progressbar-bg, #{k-color(secondary-on-surface)} ) !default;
/// The text color of the ProgressBar.
/// @group progressbar
$kendo-progressbar-text: var( --kendo-progressbar-text, #{k-color(on-app-surface)} ) !default;
/// The border color of the ProgressBar.
/// @group progressbar
$kendo-progressbar-border: var( --kendo-progressbar-border, #{$kendo-progressbar-bg} ) !default;
/// The background gradient of the ProgressBar.
/// @group progressbar
$kendo-progressbar-gradient: var( --kendo-progressbar-gradient, null ) !default;

/// The progress background color of the ProgressBar.
/// @group progressbar
$kendo-progressbar-value-bg: var( --kendo-progressbar-value-bg, #{k-color(primary)} ) !default;
/// The progress text color of the ProgressBar.
/// @group progressbar
$kendo-progressbar-value-text: var( --kendo-progressbar-value-text, #{k-color(on-app-surface)} ) !default;
/// The progress border color of the ProgressBar.
/// @group progressbar
$kendo-progressbar-value-border: var( --kendo-progressbar-value-border, #{$kendo-progressbar-value-bg} ) !default;
/// The progress background gradient of the ProgressBar.
/// @group progressbar
$kendo-progressbar-value-gradient: var( --kendo-progressbar-value-gradient, null ) !default;

/// The progress status offset of the ProgressBar.
/// @group progressbar
$kendo-progressbar-offset-y: var( --kendo-progressbar-offset-y, #{k-spacing(2)} ) !default;
/// The progress status offset of the vertical ProgressBar.
/// @group progressbar
$kendo-progressbar-vertical-status-offset: var( --kendo-progressbar-vertical-status-offset, calc( (#{$kendo-progressbar-font-size} * #{$kendo-progressbar-line-height} + #{$kendo-progressbar-offset-y}) * -1) ) !default;

/// The background color of the disabled ProgressBar.
/// @group progressbar
$kendo-progressbar-disabled-bg: var( --kendo-progressbar-disabled-bg, #{color-mix(in srgb, k-color(on-app-surface) 6%, transparent)} ) !default;
/// The text color of the disabled ProgressBar.
/// @group progressbar
$kendo-progressbar-disabled-text: var( --kendo-progressbar-disabled-text, #{color-mix(in srgb, k-color(on-app-surface) 30%, transparent)} ) !default;
/// The border color of the disabled ProgressBar.
/// @group progressbar
$kendo-progressbar-disabled-border: var( --kendo-progressbar-disabled-border, #{$kendo-progressbar-disabled-bg} ) !default;

/// The progress background color of the disabled ProgressBar.
/// @group progressbar
$kendo-progressbar-value-disabled-bg: var( --kendo-progressbar-disabled-bg, #{color-mix(in srgb, k-color(primary) 46%, transparent)} ) !default;

/// The background color of the indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-bg: var( --kendo-progressbar-indeterminate-bg, #{k-color(base-subtle)} ) !default;
/// The text color of the indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-text: var( --kendo-progressbar-indeterminate-text, #{$kendo-progressbar-text} ) !default;
/// The border color of the indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-border: var( --kendo-progressbar-indeterminate-border, #{k-color(base-subtle)} ) !default;
/// The background gradient of the horizontal indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-gradient-horizontal: var( --kendo-progressbar-indeterminate-gradient-horizontal, linear-gradient(270deg, #{k-color(base-subtle)} 15%, #{k-color(primary)} 50%, #{k-color(base-subtle)} 85%) ) !default;
/// The background gradient of the vertical indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-gradient-vertical: var( --kendo-progressbar-indeterminate-gradient-vertical, linear-gradient(180deg, #{k-color(base-subtle)} 15%, #{k-color(primary)} 50% #{k-color(base-subtle)} 85%) ) !default;
/// The gradient size of the horizontal indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-animation-horizontal: var( --kendo-progressbar-indeterminate-animation-horizontal, 3s ease 0s infinite running progressbar-indeterminate-animation-horizontal ) !default;
/// The gradient size of the vertical indeterminate ProgressBar.
/// @group progressbar
$kendo-progressbar-indeterminate-animation-vertical: var( --kendo-progressbar-indeterminate-animation-vertical, 3s ease 0s infinite running progressbar-indeterminate-animation-vertical ) !default;

/// The border color of the chunk ProgressBar.
/// @group progressbar
$kendo-progressbar-chunk-border: var( --kendo-progressbar-chunk-border, #{k-color(app-surface)} ) !default;

// Circular Progressbar
/// The arc stroke color of the circular ProgressBar.
/// @group progressbar
$kendo-circular-progressbar-arc-stroke: var( --kendo-circular-progressbar-arc-stroke, #{k-color(primary)} ) !default;
/// The scale stroke background color of the circular ProgressBar.
/// @group progressbar
$kendo-circular-progressbar-scale-stroke: var( --kendo-circular-progressbar-scale-stroke, #{$kendo-progressbar-bg} ) !default;

@forward "@progress/kendo-theme-core/scss/components/progressbar/_variables.scss" with (
    $kendo-progressbar-height: $kendo-progressbar-height,
    $kendo-progressbar-horizontal-width: $kendo-progressbar-horizontal-width,
    $kendo-progressbar-animation-timing: $kendo-progressbar-animation-timing,
    $kendo-progressbar-border-width: $kendo-progressbar-border-width,
    $kendo-progressbar-font-family: $kendo-progressbar-font-family,
    $kendo-progressbar-font-size: $kendo-progressbar-font-size,
    $kendo-progressbar-line-height: $kendo-progressbar-line-height,
    $kendo-progressbar-bg: $kendo-progressbar-bg,
    $kendo-progressbar-text: $kendo-progressbar-text,
    $kendo-progressbar-border: $kendo-progressbar-border,
    $kendo-progressbar-gradient: $kendo-progressbar-gradient,
    $kendo-progressbar-value-bg: $kendo-progressbar-value-bg,
    $kendo-progressbar-value-text: $kendo-progressbar-value-text,
    $kendo-progressbar-value-border: $kendo-progressbar-value-border,
    $kendo-progressbar-value-gradient: $kendo-progressbar-value-gradient,
    $kendo-progressbar-indeterminate-bg: $kendo-progressbar-indeterminate-bg,
    $kendo-progressbar-indeterminate-text: $kendo-progressbar-indeterminate-text,
    $kendo-progressbar-indeterminate-border: $kendo-progressbar-indeterminate-border,
    $kendo-circular-progressbar-arc-stroke: $kendo-circular-progressbar-arc-stroke,
    $kendo-circular-progressbar-scale-stroke: $kendo-circular-progressbar-scale-stroke
);
