175 lines
4.1 KiB
SCSS
175 lines
4.1 KiB
SCSS
//
|
|
// Buttons
|
|
// --------------------------------------------------
|
|
|
|
@mixin button-variant($background, $border, $active-background: darken($background, 12%), $active-border: darken($border, 22%)) {
|
|
$border-default: darken($border, 12%);
|
|
|
|
color: color-yiq($background);
|
|
background-color: $background;
|
|
border-color: $border-default;
|
|
@include box-shadow($btn-box-shadow);
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
color: color-yiq($background);
|
|
background-color: $active-background;
|
|
border-color: $active-border;
|
|
}
|
|
|
|
&.disabled,
|
|
&:disabled {
|
|
background-color: $background;
|
|
border-color: $border-default;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled):active {
|
|
background-color: $background;
|
|
border-color: $border-default;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled).active,
|
|
.show > &.dropdown-toggle {
|
|
background-color: $active-background;
|
|
background-image: none; // Remove the gradient for the pressed/active state
|
|
border-color: $active-border;
|
|
}
|
|
|
|
&.btn-noborder {
|
|
border-color: $background;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
border-color: $active-background;
|
|
}
|
|
|
|
&.disabled,
|
|
&:disabled,
|
|
&:not([disabled]):not(.disabled):active,
|
|
&:not([disabled]):not(.disabled).active {
|
|
border-color: $background;
|
|
}
|
|
|
|
.show > &.dropdown-toggle {
|
|
border-color: $active-background;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin button-outline-variant($color, $color-hover: #fff) {
|
|
color: $color;
|
|
background-color: transparent;
|
|
background-image: none;
|
|
border-color: $color;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
color: $color-hover;
|
|
background-color: $color;
|
|
border-color: $color;
|
|
}
|
|
|
|
&.disabled,
|
|
&:disabled {
|
|
color: $color;
|
|
background-color: transparent;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled):active {
|
|
color: $color;
|
|
background-color: transparent;
|
|
border-color: $color;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled).active,
|
|
.show > &.dropdown-toggle {
|
|
color: $color-hover;
|
|
background-color: $color;
|
|
border-color: $color;
|
|
}
|
|
|
|
&.btn-noborder {
|
|
border-color: transparent;
|
|
|
|
&:not([disabled]):not(.disabled):active,
|
|
&:not([disabled]):not(.disabled).active {
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin button-alt-variant($color, $background) {
|
|
$active-color: darken($color, 25%);
|
|
$active-background: darken($background, 10%);
|
|
|
|
color: $active-color;
|
|
background-color: $background;
|
|
border-color: $background;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
color: $active-color;
|
|
background-color: $active-background;
|
|
border-color: $active-background;
|
|
box-shadow: none;
|
|
}
|
|
|
|
&.disabled,
|
|
&:disabled {
|
|
background-color: $background;
|
|
border-color: $background;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled):active {
|
|
color: $active-color;
|
|
background-color: $background;
|
|
border-color: $background;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled).active,
|
|
.show > &.dropdown-toggle {
|
|
color: $active-color;
|
|
background-color: $active-background;
|
|
border-color: $active-background;
|
|
}
|
|
}
|
|
|
|
// Used for buttons that adapt to light/dark header and sidebar variations
|
|
@mixin button-dual-variant($color, $background) {
|
|
color: $color;
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
color: $color;
|
|
background-color: $background;
|
|
border-color: $background;
|
|
box-shadow: none;
|
|
}
|
|
|
|
&.disabled,
|
|
&:disabled {
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled):active {
|
|
color: $color;
|
|
background-color: transparent;
|
|
border-color: transparent;
|
|
}
|
|
|
|
&:not([disabled]):not(.disabled).active,
|
|
.show > &.dropdown-toggle {
|
|
color: $color;
|
|
background-color: $background;
|
|
border-color: $background;
|
|
}
|
|
}
|