/**
 * @class Ext.button.Button
 */

/**
 * @var {number}
 * The default width for a button's {@link #cfg-menu} arrow
 */
$button-arrow-width: 12px !default;

/**
 * @var {number}
 * The default height for a button's {@link #cfg-menu} arrow
 */
$button-arrow-height: 12px !default;

/**
 * @var {number}
 * The default width for a {@link Ext.button.Split Split Button}'s arrow
 */
$button-split-width: 14px !default;

/**
 * @var {number}
 * The default height for a {@link Ext.button.Split Split Button}'s arrow
 */
$button-split-height: 14px !default;

/**
 * @var {number}
 * The default space between a button's icon and text
 */
$button-icon-spacing: 4px !default;

/**
 * @var {number}
 * The default border-radius for a small {@link #scale} button
 */
$button-small-border-radius: 3px !default;

/**
 * @var {number}
 * The default border-width for a small {@link #scale} button
 */
$button-small-border-width: 1px !default;

/**
 * @var {number}
 * The default padding for a small {@link #scale} button
 */
$button-small-padding: 2px !default;

/**
 * @var {number}
 * The default horizontal padding to add to the left and right of the text element for
 * a small {@link #scale} button
 */
$button-small-text-padding: 4px !default;

/**
 * @var {number}
 * The default font-size for a small {@link #scale} button
 */
$button-small-font-size: ceil($font-size * .9) !default; //11px

/**
 * @var {number}
 * The default font-size for a small {@link #scale} button when the cursor is over the button
 */
$button-small-font-size-over: $button-small-font-size !default;

/**
 * @var {number}
 * The default font-size for a small {@link #scale} button when the button is focused
 */
$button-small-font-size-focus: $button-small-font-size-over !default;

/**
 * @var {number}
 * The default font-size for a small {@link #scale} button when the button is pressed
 */
$button-small-font-size-pressed: $button-small-font-size !default;

/**
 * @var {number}
 * The default font-size for a small {@link #scale} button when the button is disabled
 */
$button-small-font-size-disabled: $button-small-font-size !default;

/**
 * @var {string}
 * The default font-weight for a small {@link #scale} button
 */
$button-small-font-weight: normal !default;

/**
 * @var {string}
 * The default font-weight for a small {@link #scale} button when the cursor is over the button
 */
$button-small-font-weight-over: $button-small-font-weight !default;

/**
 * @var {string}
 * The default font-weight for a small {@link #scale} button when the button is focused
 */
$button-small-font-weight-focus: $button-small-font-weight-over !default;

/**
 * @var {string}
 * The default font-weight for a small {@link #scale} button when the button is pressed
 */
$button-small-font-weight-pressed: $button-small-font-weight !default;

/**
 * @var {string}
 * The default font-weight for a small {@link #scale} button when the button is disabled
 */
$button-small-font-weight-disabled: $button-small-font-weight !default;

/**
 * @var {string}
 * The default font-family for a small {@link #scale} button
 */
$button-small-font-family: $font-family !default;

/**
 * @var {string}
 * The default font-family for a small {@link #scale} button when the cursor is over the button
 */
$button-small-font-family-over: $button-small-font-family !default;

/**
 * @var {string}
 * The default font-family for a small {@link #scale} button when the button is focused
 */
$button-small-font-family-focus: $button-small-font-family-over !default;

/**
 * @var {string}
 * The default font-family for a small {@link #scale} button when the button is pressed
 */
$button-small-font-family-pressed: $button-small-font-family !default;

/**
 * @var {string}
 * The default font-family for a small {@link #scale} button when the button is disabled
 */
$button-small-font-family-disabled: $button-small-font-family !default;

/**
 * @var {number}
 * The default icon size for a small {@link #scale} button
 */
$button-small-icon-size: 16px !default;

/**
 * @var {number}
 * The default width of a small {@link #scale} button's {@link #cfg-menu} arrow
 */
$button-small-arrow-width: $button-arrow-width !default;

/**
 * @var {number}
 * The default height of a small {@link #scale} button's {@link #cfg-menu} arrow
 */
$button-small-arrow-height: $button-arrow-height !default;

/**
 * @var {number}
 * The default width of a small {@link #scale} {@link Ext.button.Split Split Button}'s arrow
 */
$button-small-split-width: $button-split-width !default;

/**
 * @var {number}
 * The default height of a small {@link #scale} {@link Ext.button.Split Split Button}'s arrow
 */
$button-small-split-height: $button-split-height !default;

/**
 * @var {number}
 * The default border-radius for a medium {@link #scale} button
 */
$button-medium-border-radius: 3px !default;

/**
 * @var {number}
 * The default border-width for a medium {@link #scale} button
 */
$button-medium-border-width: 1px !default;

/**
 * @var {number}
 * The default padding for a medium {@link #scale} button
 */
$button-medium-padding: 3px !default;

/**
 * @var {number}
 * The default horizontal padding to add to the left and right of the text element for
 * a medium {@link #scale} button
 */
$button-medium-text-padding: 3px !default;

/**
 * @var {number}
 * The default font-size for a medium {@link #scale} button
 */
$button-medium-font-size: $font-size !default; //11px

/**
 * @var {number}
 * The default font-size for a medium {@link #scale} button when the cursor is over the button
 */
$button-medium-font-size-over: $button-medium-font-size !default;

/**
 * @var {number}
 * The default font-size for a medium {@link #scale} button when the button is focused
 */
$button-medium-font-size-focus: $button-medium-font-size-over !default;

/**
 * @var {number}
 * The default font-size for a medium {@link #scale} button when the button is pressed
 */
$button-medium-font-size-pressed: $button-medium-font-size !default;

/**
 * @var {number}
 * The default font-size for a medium {@link #scale} button when the button is disabled
 */
$button-medium-font-size-disabled: $button-medium-font-size !default;

/**
 * @var {string}
 * The default font-weight for a medium {@link #scale} button
 */
$button-medium-font-weight: normal !default;

/**
 * @var {string}
 * The default font-weight for a medium {@link #scale} button when the cursor is over the button
 */
$button-medium-font-weight-over: $button-medium-font-weight !default;

/**
 * @var {string}
 * The default font-weight for a medium {@link #scale} button when the button is focused
 */
$button-medium-font-weight-focus: $button-medium-font-weight-over !default;

/**
 * @var {string}
 * The default font-weight for a medium {@link #scale} button when the button is pressed
 */
$button-medium-font-weight-pressed: $button-medium-font-weight !default;

/**
 * @var {string}
 * The default font-weight for a medium {@link #scale} button when the button is disabled
 */
$button-medium-font-weight-disabled: $button-medium-font-weight !default;

/**
 * @var {string}
 * The default font-family for a medium {@link #scale} button
 */
$button-medium-font-family: $font-family !default;

/**
 * @var {string}
 * The default font-family for a medium {@link #scale} button when the cursor is over the button
 */
$button-medium-font-family-over: $button-medium-font-family !default;

/**
 * @var {string}
 * The default font-family for a medium {@link #scale} button when the button is focused
 */
$button-medium-font-family-focus: $button-medium-font-family-over !default;

/**
 * @var {string}
 * The default font-family for a medium {@link #scale} button when the button is pressed
 */
$button-medium-font-family-pressed: $button-medium-font-family !default;

/**
 * @var {string}
 * The default font-family for a medium {@link #scale} button when the button is disabled
 */
$button-medium-font-family-disabled: $button-medium-font-family !default;

/**
 * @var {number}
 * The default icon size for a medium {@link #scale} button
 */
$button-medium-icon-size: 24px !default;

/**
 * @var {number}
 * The default width of a medium {@link #scale} button's {@link #cfg-menu} arrow
 */
$button-medium-arrow-width: $button-arrow-width !default;

/**
 * @var {number}
 * The default height of a medium {@link #scale} button's {@link #cfg-menu} arrow
 */
$button-medium-arrow-height: $button-arrow-height !default;

/**
 * @var {number}
 * The default width of a medium {@link #scale} {@link Ext.button.Split Split Button}'s arrow
 */
$button-medium-split-width: $button-split-width !default;

/**
 * @var {number}
 * The default height of a medium {@link #scale} {@link Ext.button.Split Split Button}'s arrow
 */
$button-medium-split-height: $button-split-height !default;

/**
 * @var {number}
 * The default border-radius for a large {@link #scale} button
 */
$button-large-border-radius: 3px !default;

/**
 * @var {number}
 * The default border-width for a large {@link #scale} button
 */
$button-large-border-width: 1px !default;

/**
 * @var {number}
 * The default padding for a large {@link #scale} button
 */
$button-large-padding: 3px !default;

/**
 * @var {number}
 * The default horizontal padding to add to the left and right of the text element for
 * a large {@link #scale} button
 */
$button-large-text-padding: 3px !default;

/**
 * @var {number}
 * The default font-size for a large {@link #scale} button
 */
$button-large-font-size: $font-size !default; //11px

/**
 * @var {number}
 * The default font-size for a large {@link #scale} button when the cursor is over the button
 */
$button-large-font-size-over: $button-large-font-size !default;

/**
 * @var {number}
 * The default font-size for a large {@link #scale} button when the button is focused
 */
$button-large-font-size-focus: $button-large-font-size-over !default;

/**
 * @var {number}
 * The default font-size for a large {@link #scale} button when the button is pressed
 */
$button-large-font-size-pressed: $button-large-font-size !default;

/**
 * @var {number}
 * The default font-size for a large {@link #scale} button when the button is disabled
 */
$button-large-font-size-disabled: $button-large-font-size !default;

/**
 * @var {string}
 * The default font-weight for a large {@link #scale} button
 */
$button-large-font-weight: normal !default;

/**
 * @var {string}
 * The default font-weight for a large {@link #scale} button when the cursor is over the button
 */
$button-large-font-weight-over: $button-large-font-weight !default;

/**
 * @var {string}
 * The default font-weight for a large {@link #scale} button when the button is focused
 */
$button-large-font-weight-focus: $button-large-font-weight-over !default;

/**
 * @var {string}
 * The default font-weight for a large {@link #scale} button when the button is pressed
 */
$button-large-font-weight-pressed: $button-large-font-weight !default;

/**
 * @var {string}
 * The default font-weight for a large {@link #scale} button when the button is disabled
 */
$button-large-font-weight-disabled: $button-large-font-weight !default;

/**
 * @var {string}
 * The default font-family for a large {@link #scale} button
 */
$button-large-font-family: $font-family !default;

/**
 * @var {string}
 * The default font-family for a large {@link #scale} button when the cursor is over the button
 */
$button-large-font-family-over: $button-large-font-family !default;

/**
 * @var {string}
 * The default font-family for a large {@link #scale} button when the button is focused
 */
$button-large-font-family-focus: $button-large-font-family-over !default;

/**
 * @var {string}
 * The default font-family for a large {@link #scale} button when the button is pressed
 */
$button-large-font-family-pressed: $button-large-font-family !default;

/**
 * @var {string}
 * The default font-family for a large {@link #scale} button when the button is disabled
 */
$button-large-font-family-disabled: $button-large-font-family !default;

/**
 * @var {number}
 * The default icon size for a large {@link #scale} button
 */
$button-large-icon-size: 32px !default;

/**
 * @var {number}
 * The default width of a large {@link #scale} button's {@link #cfg-menu} arrow
 */
$button-large-arrow-width: $button-arrow-width !default;

/**
 * @var {number}
 * The default height of a large {@link #scale} button's {@link #cfg-menu} arrow
 */
$button-large-arrow-height: $button-arrow-height !default;

/**
 * @var {number}
 * The default width of a large {@link #scale} {@link Ext.button.Split Split Button}'s arrow
 */
$button-large-split-width: $button-split-width !default;

/**
 * @var {number}
 * The default height of a large {@link #scale} {@link Ext.button.Split Split Button}'s arrow
 */
$button-large-split-height: $button-split-height !default;

/**
 * @var {color}
 * The base color for the `default` button UI
 */
$button-default-base-color: $base-color !default;

/**
 * @var {color}
 * The base color for the `default` button UI when the cursor is over the button
 */
$button-default-base-color-over: $button-default-base-color !default;

/**
 * @var {color}
 * The base color for the `default` button UI when the button is focused
 */
$button-default-base-color-focus: $button-default-base-color-over !default;

/**
 * @var {color}
 * The base color for the `default` button UI when the button is pressed
 */
$button-default-base-color-pressed: $button-default-base-color !default;

/**
 * @var {color}
 * The base color for the `default` button UI when the button is disabled
 */
$button-default-base-color-disabled: $base-color !default;

/**
 * @var {color}
 * The border-color for the `default` button UI
 */
$button-default-border-color: $base-color !default;

/**
 * @var {color}
 * The border-color for the `default` button UI when the cursor is over the button
 */
$button-default-border-color-over: $base-color !default;

/**
 * @var {color}
 * The border-color for the `default` button UI when the button is focused
 */
$button-default-border-color-focus: $base-color !default;

/**
 * @var {color}
 * The border-color for the `default` button UI when the button is pressed
 */
$button-default-border-color-pressed: $base-color !default;

/**
 * @var {color}
 * The border-color for the `default` button UI when the button is disabled
 */
$button-default-border-color-disabled: $base-color !default;

/**
 * @var {color}
 * The background-color for the `default` button UI
 */
$button-default-background-color: $button-default-base-color !default;

/**
 * @var {color}
 * The background-color for the `default` button UI when the cursor is over the button
 */
$button-default-background-color-over: $button-default-base-color-over !default;

/**
 * @var {color}
 * The background-color for the `default` button UI when the button is focused
 */
$button-default-background-color-focus: $button-default-background-color-over !default;

/**
 * @var {color}
 * The background-color for the `default` button UI when the button is pressed
 */
$button-default-background-color-pressed: $button-default-base-color-pressed !default;

/**
 * @var {color}
 * The background-color for the `default` button UI when the button is disabled
 */
$button-default-background-color-disabled: null !default;

/**
 * @var {string/list}
 * The background-gradient for the `default` button UI.  Can be either the name of a
 * predefined gradient or a list of color stops. Used as the `$type` parameter for
 * {@link Global_CSS#background-gradient}.
 */
$button-default-background-gradient: 'glossy-button' !default;

/**
 * @var {string/list}
 * The background-gradient for the `default` button UI when the cursor is over the button.
 * Can be either the name of a predefined gradient or a list of color stops. Used as the
 * `$type` parameter for {@link Global_CSS#background-gradient}.
 */
$button-default-background-gradient-over: 'glossy-button-over' !default;

/**
 * @var {string/list}
 * The background-gradient for the `default` button UI when the button is focused.  Can be
 * either the name of a predefined gradient or a list of color stops. Used as the `$type`
 * parameter for {@link Global_CSS#background-gradient}.
 */
$button-default-background-gradient-focus: $button-default-background-gradient-over !default;

/**
 * @var {string/list}
 * The background-gradient for the `default` button UI when the button is pressed.  Can be
 * either the name of a predefined gradient or a list of color stops. Used as the `$type`
 * parameter for {@link Global_CSS#background-gradient}.
 */
$button-default-background-gradient-pressed: 'glossy-button-pressed' !default;

/**
 * @var {string/list}
 * The background-gradient for the `default` button UI when the button is disabled.  Can be
 * either the name of a predefined gradient or a list of color stops. Used as the `$type`
 * parameter for {@link Global_CSS#background-gradient}.
 */
$button-default-background-gradient-disabled: 'glossy-button-disabled' !default;

/**
 * @var {color}
 * The text color for the `default` button UI
 */
$button-default-color: #000 !default;

/**
 * @var {color}
 * The text color for the `default` button UI when the cursor is over the button
 */
$button-default-color-over: $button-default-color !default;

/**
 * @var {color}
 * The text color for the `default` button UI when the button is focused
 */
$button-default-color-focus: $button-default-color-over !default;

/**
 * @var {color}
 * The text color for the `default` button UI when the button is pressed
 */
$button-default-color-pressed: $button-default-color !default;

/**
 * @var {color}
 * The text color for the `default` button UI when the button is disabled
 */
$button-default-color-disabled: $button-default-color !default;

/**
 * @var {color}
 * The color of the {@link #glyph} icon for the `default` button UI
 */
$button-default-glyph-color: $button-default-color !default;

/**
 * @var {color}
 * The opacity of the {@link #glyph} icon for the `default` button UI
 */
$button-default-glyph-opacity: .5 !default;

/**
 * @var {color}
 * The border-color for the `default-toolbar` button UI
 */
$button-toolbar-border-color: $base-color !default;

/**
 * @var {color}
 * The border-color for the `default-toolbar` button UI when the cursor is over the button
 */
$button-toolbar-border-color-over: $button-toolbar-border-color !default;

/**
 * @var {color}
 * The border-color for the `default-toolbar` button UI when the button is focused
 */
$button-toolbar-border-color-focus: $button-toolbar-border-color-over !default;

/**
 * @var {color}
 * The border-color for the `default-toolbar` button UI when the button is pressed
 */
$button-toolbar-border-color-pressed: $button-toolbar-border-color !default;

/**
 * @var {color}
 * The border-color for the `default-toolbar` button UI when the button is disabled
 */
$button-toolbar-border-color-disabled: $button-toolbar-border-color !default;

/**
 * @var {color}
 * The background-color for the `default-toolbar` button UI
 */
$button-toolbar-background-color: $base-color !default;

/**
 * @var {color}
 * The background-color for the `default-toolbar` button UI when the cursor is over the button
 */
$button-toolbar-background-color-over: $button-toolbar-background-color !default;

/**
 * @var {color}
 * The background-color for the `default-toolbar` button UI when the button is focused
 */
$button-toolbar-background-color-focus: $button-toolbar-background-color-over !default;

/**
 * @var {color}
 * The background-color for the `default-toolbar` button UI when the button is pressed
 */
$button-toolbar-background-color-pressed: $button-toolbar-background-color !default;

/**
 * @var {color}
 * The background-color for the `default-toolbar` button UI when the button is disabled
 */
$button-toolbar-background-color-disabled: $button-toolbar-background-color !default;

/**
 * @var {string/list}
 * The background-gradient for the `default-toolbar` button UI.  Can be either the name of
 * a predefined gradient or a list of color stops. Used as the `$type` parameter for
 * {@link Global_CSS#background-gradient}.
 */
$button-toolbar-background-gradient: 'glossy-button' !default;

/**
 * @var {string/list}
 * The background-gradient for the `default-toolbar` button UI when the cursor is over the
 * button. Can be either the name of a predefined gradient or a list of color stops. Used
 * as the `$type` parameter for {@link Global_CSS#background-gradient}.
 */
$button-toolbar-background-gradient-over: 'glossy-button-over' !default;

/**
 * @var {string/list}
 * The background-gradient for the `default-toolbar` button UI when the button is focused.
 * Can be either the name of a predefined gradient or a list of color stops. Used as the
 * `$type` parameter for {@link Global_CSS#background-gradient}.
 */
$button-toolbar-background-gradient-focus: $button-toolbar-background-gradient-over !default;

/**
 * @var {string/list}
 * The background-gradient for the `default-toolbar` button UI when the button is pressed.
 * Can be either the name of a predefined gradient or a list of color stops. Used as the
 * `$type` parameter for {@link Global_CSS#background-gradient}.
 */
$button-toolbar-background-gradient-pressed: 'glossy-button-pressed' !default;

/**
 * @var {string/list}
 * The background-gradient for the `default-toolbar` button UI when the button is disabled.
 * Can be either the name of a predefined gradient or a list of color stops. Used as the
 * `$type` parameter for {@link Global_CSS#background-gradient}.
 */
$button-toolbar-background-gradient-disabled: 'glossy-button-disabled' !default;

/**
 * @var {color}
 * The text color for the `default-toolbar` button UI
 */
$button-toolbar-color: #000 !default;

/**
 * @var {color}
 * The text color for the `default-toolbar` button UI when the cursor is over the button
 */
$button-toolbar-color-over: $button-toolbar-color !default;

/**
 * @var {color}
 * The text color for the `default-toolbar` button UI when the button is focused
 */
$button-toolbar-color-focus: $button-toolbar-color-over !default;

/**
 * @var {color}
 * The text color for the `default-toolbar` button UI when the button is pressed
 */
$button-toolbar-color-pressed: $button-toolbar-color !default;

/**
 * @var {color}
 * The text color for the `default-toolbar` button UI when the button is disabled
 */
$button-toolbar-color-disabled: $button-toolbar-color !default;

/**
 * @var {color}
 * The color of the {@link #glyph} icon for the `default-toolbar` button UI
 */
$button-toolbar-glyph-color: $button-toolbar-color !default;

/**
 * @var {color}
 * The opacity of the {@link #glyph} icon for the `default-toolbar` button UI
 */
$button-toolbar-glyph-opacity: .5 !default;

/**
 * @var {boolean} $button-include-ui-menu-arrows
 * True to use a different image url for the menu button arrows for each button UI
 */
$button-include-ui-menu-arrows: false !default;

/**
 * @var {boolean} $button-include-ui-split-arrows
 * True to use a different image url for the split button arrows for each button UI
 */
$button-include-ui-split-arrows: false !default;

/**
 * @var {boolean} $button-include-split-over-arrows
 * True to include different split arrows for buttons' hover state.
 */
$button-include-split-over-arrows: false !default;

/**
 * @var {boolean} $button-toolbar-include-split-noline-arrows
 * True to include "noline" split arrows for toolbar buttons in their default state.
 */
$button-toolbar-include-split-noline-arrows: false !default;

/**
 * @var {number} $button-opacity-disabled
 * opacity to apply to the button's main element when the buton is disabled
 */
$button-opacity-disabled: .5 !default;

/**
 * @var {number} $button-inner-opacity-disabled
 * opacity to apply to the button's inner elements (icon and text) when the buton is disabled
 */
$button-inner-opacity-disabled: 1 !default;

/**
 * @var {number} $button-toolbar-opacity-disabled
 * opacity to apply to the toolbar button's main element when the buton is disabled
 */
$button-toolbar-opacity-disabled: .5 !default;

/**
 * @var {number} $button-toolbar-inner-opacity-disabled
 * opacity to apply to the toolbar button's inner elements (icon and text) when the buton is disabled
 */
$button-toolbar-inner-opacity-disabled: 1 !default;

/**
 * @var {boolean}
 * True to include the "default" button UI
 */
$include-button-default-ui: $include-default-uis !default;

/**
 * @var {boolean}
 * True to include the "default" button UI for "small" scale buttons
 */
$include-button-default-small-ui: $include-button-default-ui !default;

/**
 * @var {boolean}
 * True to include the "default" button UI for "medium" scale buttons
 */
$include-button-default-medium-ui: $include-button-default-ui !default;

/**
 * @var {boolean}
 * True to include the "default" button UI for "large" scale buttons
 */
$include-button-default-large-ui: $include-button-default-ui !default;

/**
 * @var {boolean}
 * True to include the "default-toolbar" button UI
 */
$include-button-default-toolbar-ui: $include-default-uis !default;

/**
 * @var {boolean}
 * True to include the "default-toolbar" button UI for "small" scale buttons
 */
$include-button-default-toolbar-small-ui: $include-button-default-toolbar-ui !default;

/**
 * @var {boolean}
 * True to include the "default-toolbar" button UI for "medium" scale buttons
 */
$include-button-default-toolbar-medium-ui: $include-button-default-toolbar-ui !default;

/**
 * @var {boolean}
 * True to include the "default-toolbar" button UI for "large" scale buttons
 */
$include-button-default-toolbar-large-ui: $include-button-default-toolbar-ui !default;