$tab-background-color: dynamic(mix(#fff, $base-highlight-color, 10%));
$tab-hovered-background-color: dynamic(mix(#fff, $base-highlight-color, 20%));
$tab-pressed-background-color: dynamic($tab-hovered-background-color);
$tab-active-background-color: dynamic($base-light-color);
$tab-focused-background-color: dynamic(null);
$tab-disabled-background-color: dynamic(null);
$tab-box-shadow: dynamic(null);
$tab-hovered-box-shadow: dynamic(null);
$tab-pressed-box-shadow: dynamic(null);
$tab-active-box-shadow: dynamic(null);
$tab-focused-box-shadow: dynamic(null);
$tab-disabled-box-shadow: dynamic(null);
$tab-background-gradient: dynamic(none);
$tab-hovered-background-gradient: dynamic(none);
$tab-pressed-background-gradient: dynamic(none);
$tab-active-background-gradient: dynamic(none);
$tab-focused-background-gradient: dynamic(none);
$tab-disabled-background-gradient: dynamic(none);
$tab-color: dynamic($light-color);
$tab-hovered-color: dynamic($tab-color);
$tab-pressed-color: dynamic($tab-color);
$tab-active-color: dynamic($base-color);
$tab-focused-color: dynamic($tab-color);
$tab-disabled-color: dynamic($tab-color);
$tab-border-color: dynamic(null);
$tab-hovered-border-color: dynamic(null);
$tab-pressed-border-color: dynamic(null);
$tab-active-border-color: dynamic(null);
$tab-focused-border-color: dynamic(null);
$tab-disabled-border-color: dynamic(null);
$tab-focused-outline-color: dynamic(mix($tab-background-color, $tab-color, 20%));
$tab-active-focused-outline-color: dynamic(mix($tab-active-background-color, $tab-active-color, 20%));
$tab-focused-outline-style: dynamic(solid);
$tab-focused-outline-width: dynamic(1px);
$tab-focused-outline-offset: dynamic(-2px);
$tab-border-width: dynamic(0);
$tab-border-style: dynamic(null);
$tab-border-radius: dynamic(3px 3px 0 0);
$tab-border-radius-big: dynamic($tab-border-radius);
$tab-font-weight: dynamic($font-weight-bold);
$tab-font-size: dynamic($font-size);
$tab-font-size-big: dynamic($font-size-big);
$tab-stacked-font-size: dynamic(null);
$tab-stacked-font-size-big: dynamic(null);
$tab-line-height: dynamic(16px);
$tab-line-height-big: dynamic(20px);
$tab-font-family: dynamic($font-family);
$tab-text-transform: dynamic(null);
$tab-text-transform-big: dynamic(null);
$tab-padding: dynamic(8px 12px 7px);
$tab-padding-big: dynamic(10px 10px 9px);
$tab-icon-only-padding: dynamic($tab-padding);
$tab-icon-only-padding-big: dynamic($tab-padding-big);
$tab-icon-color: dynamic($tab-color);
$tab-hovered-icon-color: dynamic($tab-hovered-color);
$tab-pressed-icon-color: dynamic($tab-pressed-color);
$tab-active-icon-color: dynamic($tab-active-color);
$tab-focused-icon-color: dynamic($tab-focused-color);
$tab-disabled-icon-color: dynamic($tab-disabled-color);
$tab-icon-size: dynamic($tab-line-height);
$tab-icon-size-big: dynamic($tab-line-height-big);
$tab-icon-font-size: dynamic(null);
$tab-icon-font-size-big: dynamic(null);
$tab-icon-horizontal-spacing: dynamic(5px);
$tab-icon-horizontal-spacing-big: dynamic(8px);
$tab-icon-vertical-spacing: dynamic(2px);
$tab-icon-vertical-spacing-big: dynamic(3px);
$tab-disabled-opacity: dynamic(.5);
$tab-arrow-icon: dynamic(null);
$tab-arrow-icon-color: dynamic($tab-color);
$tab-hovered-arrow-icon-color: dynamic($tab-hovered-icon-color);
$tab-pressed-arrow-icon-color: dynamic($tab-pressed-icon-color);
$tab-active-arrow-icon-color: dynamic($tab-active-icon-color);
$tab-focused-arrow-icon-color: dynamic($tab-focused-icon-color);
$tab-disabled-arrow-icon-color: dynamic($tab-disabled-icon-color);
$tab-arrow-icon-size: dynamic($tab-line-height);
$tab-arrow-icon-size-big: dynamic($tab-line-height-big);
$tab-arrow-icon-font-size: dynamic(null);
$tab-arrow-icon-font-size-big: dynamic(null);
$tab-arrow-horizontal-spacing: dynamic(5px);
$tab-arrow-horizontal-spacing-big: dynamic(8px);
$tab-arrow-vertical-spacing: dynamic(null);
$tab-arrow-vertical-spacing-big: dynamic(null);
$tab-badge-background-color: dynamic(darken($alert-color, 10%));
$tab-badge-background-gradient: dynamic($base-background-gradient);
$tab-badge-color: dynamic(color-by-background($tab-badge-background-color));
$tab-badge-border-color: dynamic(darken($tab-badge-background-color, 10%));
$tab-badge-border-radius: dynamic(3px);
$tab-badge-min-width: dynamic(26px);
$tab-badge-max-width: dynamic(95%);
$tab-badge-font-weight: dynamic(null);
$tab-badge-font-size: dynamic($font-size);
$tab-badge-font-size-big: dynamic($font-size-big);
$tab-badge-font-family: dynamic($tab-font-family);
$tab-badge-line-height: dynamic($tab-line-height);
$tab-badge-line-height-big: dynamic($tab-line-height-big);
$tab-badge-top: dynamic(0);
$tab-badge-right: dynamic(0);
$tab-badge-bottom: dynamic(null);
$tab-badge-left: dynamic(null);
$tab-badge-padding: dynamic(1px 4px);
$tab-badge-padding-big: dynamic($tab-badge-padding);
$tab-active-indicator-background-color: dynamic(null);
$tab-active-indicator-height: dynamic(null);
$tab-close-icon: dynamic($fa-var-close);
$tab-close-icon-color: dynamic(null);
$tab-close-icon-hovered-color: dynamic(null);
$tab-close-icon-pressed-color: dynamic(null);
$tab-active-close-icon-color: dynamic(null);
$tab-active-close-icon-hovered-color: dynamic(null);
$tab-active-close-icon-pressed-color: dynamic(null);
$tab-close-icon-background-color: dynamic(null);
$tab-close-icon-hovered-background-color: dynamic(rgba(0, 0, 0, 0.1));
$tab-close-icon-pressed-background-color: dynamic(rgba(0, 0, 0, 0.2));
$tab-active-close-icon-background-color: dynamic(null);
$tab-active-close-icon-hovered-background-color: dynamic(null);
$tab-active-close-icon-pressed-background-color: dynamic(null);
$tab-close-icon-border-radius: dynamic(3px);
$tab-close-icon-border-radius-big: dynamic(null);
$tab-close-icon-size: dynamic(12px);
$tab-close-icon-size-big: dynamic(18px);
$tab-close-icon-font-size: dynamic(null);
$tab-close-icon-font-size-big: dynamic(null);
$tab-close-icon-margin: dynamic(3px);
$tab-close-icon-margin-big: dynamic(null);
$tab-close-icon-spacing: dynamic(10px);
$tab-close-icon-spacing-big: dynamic(20px);
@mixin tab-ui(
$ui: null,
$xtype: tab,
$background-color: null,
$hovered-background-color: null,
$pressed-background-color: null,
$active-background-color: null,
$focused-background-color: null,
$disabled-background-color: null,
$box-shadow: null,
$hovered-box-shadow: null,
$pressed-box-shadow: null,
$active-box-shadow: null,
$focused-box-shadow: null,
$disabled-box-shadow: null,
$background-gradient: null,
$hovered-background-gradient: null,
$pressed-background-gradient: null,
$active-background-gradient: null,
$focused-background-gradient: null,
$disabled-background-gradient: null,
$color: null,
$hovered-color: null,
$pressed-color: null,
$active-color: null,
$focused-color: null,
$disabled-color: null,
$border-color: null,
$hovered-border-color: null,
$pressed-border-color: null,
$active-border-color: null,
$focused-border-color: null,
$disabled-border-color: null,
$focused-outline-color: null,
$active-focused-outline-color: null,
$focused-outline-style: null,
$focused-outline-width: null,
$focused-outline-offset: null,
$border-width: null,
$border-style: null,
$border-radius: null,
$border-radius-big: null,
$font-weight: null,
$font-size: null,
$font-size-big: null,
$stacked-font-size: null,
$stacked-font-size-big: null,
$line-height: null,
$line-height-big: null,
$font-family: null,
$text-transform: null,
$text-transform-big: null,
$padding: null,
$padding-big: null,
$icon-only-padding: null,
$icon-only-padding-big: null,
$icon-color: null,
$hovered-icon-color: null,
$pressed-icon-color: null,
$active-icon-color: null,
$focused-icon-color: null,
$disabled-icon-color: null,
$icon-size: null,
$icon-size-big: null,
$icon-font-size: null,
$icon-font-size-big: null,
$icon-horizontal-spacing: null,
$icon-horizontal-spacing-big: null,
$icon-vertical-spacing: null,
$icon-vertical-spacing-big: null,
$disabled-opacity: null,
$arrow-icon: null,
$arrow-icon-color: null,
$hovered-arrow-icon-color: null,
$pressed-arrow-icon-color: null,
$active-arrow-icon-color: null,
$focused-arrow-icon-color: null,
$disabled-arrow-icon-color: null,
$arrow-icon-size: null,
$arrow-icon-size-big: null,
$arrow-icon-font-size: null,
$arrow-icon-font-size-big: null,
$arrow-horizontal-spacing: null,
$arrow-horizontal-spacing-big: null,
$arrow-vertical-spacing: null,
$arrow-vertical-spacing-big: null,
$badge-background-color: null,
$badge-background-gradient: null,
$badge-color: null,
$badge-border-color: null,
$badge-border-radius: null,
$badge-min-width: null,
$badge-max-width: null,
$badge-font-weight: null,
$badge-font-size: null,
$badge-font-size-big: null,
$badge-font-family: null,
$badge-line-height: null,
$badge-line-height-big: null,
$badge-top: null,
$badge-right: null,
$badge-bottom: null,
$badge-left: null,
$badge-padding: null,
$badge-padding-big: null,
$active-indicator-background-color: null,
$active-indicator-height: null,
$close-icon: null,
$close-icon-color: null,
$close-icon-hovered-color: null,
$close-icon-pressed-color: null,
$active-close-icon-color: null,
$active-close-icon-hovered-color: null,
$active-close-icon-pressed-color: null,
$close-icon-background-color: null,
$close-icon-hovered-background-color: null,
$close-icon-pressed-background-color: null,
$active-close-icon-background-color: null,
$active-close-icon-hovered-background-color: null,
$active-close-icon-pressed-background-color: null,
$close-icon-border-radius: null,
$close-icon-border-radius-big: null,
$close-icon-size: null,
$close-icon-size-big: null,
$close-icon-font-size: null,
$close-icon-font-size-big: null,
$close-icon-margin: null,
$close-icon-margin-big: null,
$close-icon-spacing: null,
$close-icon-spacing-big: null
) {
$ui-suffix: ui-suffix($ui);
$arguments: map-merge((
derive-colors: false,
derive-border-colors: false,
derive-outline-colors: false,
derive-background-colors: false,
derive-background-gradients: false
), intersect-arguments(tab-ui, button-ui));
@include button-ui($arguments...);
.#{$prefix}#{$xtype}#{$ui-suffix} {
.#{$prefix}close-icon-el {
background-color: $close-icon-background-color;
border-radius: $close-icon-border-radius;
margin: $close-icon-margin;
@include icon(
$icon: $close-icon,
$color: $close-icon-color,
$size: $close-icon-size,
$size-big: $close-icon-size-big,
$font-size: $close-icon-font-size,
$font-size-big: $close-icon-font-size-big
);
@if $enable-big {
.#{$prefix}big & {
border-radius: $close-icon-border-radius-big;
margin: $close-icon-margin-big;
}
}
&:hover {
color: $close-icon-hovered-color;
background-color: $close-icon-hovered-background-color;
}
&:active {
color: $close-icon-pressed-color;
background-color: $close-icon-pressed-background-color;
}
}
&.#{$prefix}active {
color: $active-color;
box-shadow: $active-box-shadow;
.#{$prefix}inner-el {
border-color: $active-border-color;
@include background-gradient($active-background-color, $active-background-gradient);
}
.#{$prefix}icon-el {
color: $active-icon-color;
}
.#{$prefix}arrow-el {
color: $active-arrow-icon-color;
}
&.#{$prefix}focused:after {
.#{$prefix}keyboard-mode & {
border-color: $active-focused-outline-color;
}
}
.#{$prefix}active-indicator-el {
background-color: $active-indicator-background-color;
height: $active-indicator-height;
}
.#{$prefix}close-icon-el {
color: $active-close-icon-color;
background-color: $active-close-icon-background-color;
&:hover {
color: $active-close-icon-hovered-color;
background-color: $active-close-icon-hovered-background-color;
}
&:active {
color: $active-close-icon-pressed-color;
background-color: $active-close-icon-pressed-background-color;
}
}
}
&.#{$prefix}icon-align-top,
&.#{$prefix}icon-align-bottom {
&.#{$prefix}has-icon {
font-size: $stacked-font-size;
@if $enable-big {
.#{$prefix}big & {
font-size: $tab-stacked-font-size-big;
}
}
}
}
&.#{$prefix}closable .#{$prefix}body-el {
margin-right: $close-icon-spacing;
@if $enable-big {
.#{$prefix}big & {
margin-right: $close-icon-spacing-big;
}
}
}
}
}