/**
 * @class Ext.Indicator
 */
 
/**
 * @var {color}
 * The color of the indicator dots.
 */
$indicator-background-color: dynamic(#ccc);
 
/**
 * @var {string/list}
 * The background-gradient of the indicator dots.
 */
$indicator-background-gradient: dynamic(null);
 
//# fashion replaces $carousel-indicator-size 
/**
 * @var {measurement}
 * The size (height and width) of indicator dots.
 */
$indicator-size: dynamic(6px);
 
/**
 * @var {color}
 * The background-color of the active indicator dot.
 */
$indicator-active-background-color: dynamic($indicator-background-color);
 
/**
 * @var {string/list}
 * The background-gradient of the active indicator dot.
 */
$indicator-active-background-gradient: dynamic($indicator-background-gradient);
 
//# fashion replaces $carousel-indicator-active-size 
/**
 * @var {measurement}
 * The size (height and width) of the active indicator dot.
 */
$indicator-active-size: dynamic($indicator-size * 2);
 
//# fashion replaces $carousel-track-size 
/**
 * @var {measurement}
 * The size of the track the indicator dots are in. The size will be used for the width
 * of a vertical indicator or the height of a horizontal indicator.
 */
$indicator-track-size: dynamic(26px);
 
//# fashion replaces $carousel-indicator-spacing 
/**
 * @var {measurement}
 * Amount of space between the indicator dots.
 */
$indicator-spacing: dynamic(3px);
 
//# fashion replaces $carousel-indicator-border-radius 
/**
 * @var {number}
 * The border-radius of the indicator dots.
 */
$indicator-border-radius: dynamic(50%);
 
//# fashion replaces $carousel-light-ui 
/**
 * @var {map}
 * Parameters for the "light" carousel UI.
 * Set to `null` to eliminate the UI from the CSS output.
 */
$indicator-light-ui: dynamic((
    color: rgba(#fff, .1), 
    active-color: rgba(#fff, .3) 
));
 
//# fashion replaces $carousel-dark-ui 
/**
 * @var {map}
 * Parameters for the "dark" carousel UI.
 * Set to `null` to eliminate the UI from the CSS output.
 */
$indicator-dark-ui: dynamic((
    color: rgba(#000, .1), 
    active-color: rgba(#000, .3) 
));
 
/**
 * Creates a theme UI for the indicator component.
 *
 * @param {string} $ui The name of the UI being created.
 *   Can not included spaces or special punctuation (used in class names)
 * @param {number} xtype The xtype of the UI being created.
 * @param {number} $margin The margin between the indicator dots.
 * @param {number} $border-radius The border radius of the indicator dots.
 * @param {number} $track-size The size of the track the indicator dots are in.
 * @param {color} $background-color The background color of the indicator dots.
 * @param {string} $background-gradient The background gradient of the indicator dots.
 * @param {number} $size The size of the indicator dots.
 * @param {color} $active-background-color The background color of the active indicator dot.
 * @param {string} $active-background-gradient The background gradient of the active indicator dot.
 * @param {number} $active-size The size of the active indicator dot.
 */
@mixin indicator-ui(
    $ui: null,
    $xtype: indicator,
 
    $margin: $indicator-spacing,
    $border-radius: $indicator-border-radius,
    $track-size: $indicator-track-size,
 
    $background-color: $indicator-background-color,
    $background-gradient: $indicator-background-gradient,
    $size: $indicator-size,
 
    $active-background-color: $indicator-active-background-color,
    $active-background-gradient: $indicator-active-background-gradient,
    $active-size: $indicator-active-size 
) {
    $ui-suffix: ui-suffix($ui);
 
    .#{$prefix}#{$xtype}#{$ui-suffix} {
        span {
            width: $size;
            height: $size;
            margin: $margin;
 
            @if $enable-border-radius {
                @include border-radius($border-radius);
            }
 
            @include background-gradient($background-color, $background-gradient);
 
            &.#{$prefix}#{$xtype}-active {
                width: $active-size;
                height: $active-size;
 
                @include background-gradient($active-background-color, $active-background-gradient);
            }
        }
 
        &.#{$prefix}#{$xtype}-horizontal {
            height: $track-size;
        }
 
        &.#{$prefix}#{$xtype}-vertical {
            width: $track-size;
        }
    }
}