2016-01-26 21:12:48 +03:00
|
|
|
// from bs mixins/buttons button-variant
|
2016-03-21 17:56:51 +03:00
|
|
|
@mixin bmd-button-variant($color, $background, $focus-background, $active-background, $border, $focus-border, $active-border) {
|
2016-01-26 21:12:48 +03:00
|
|
|
color: $color;
|
|
|
|
background-color: $background;
|
|
|
|
border-color: $border;
|
|
|
|
|
|
|
|
@include hover {
|
|
|
|
color: $color;
|
|
|
|
background-color: $focus-background;
|
|
|
|
border-color: $focus-border;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus,
|
|
|
|
&.focus {
|
|
|
|
color: $color;
|
|
|
|
background-color: $focus-background;
|
|
|
|
border-color: $focus-border;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:active,
|
|
|
|
&.active,
|
|
|
|
.open > &.dropdown-toggle {
|
|
|
|
color: $color;
|
|
|
|
background-color: $focus-background;
|
|
|
|
border-color: $focus-border;
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
&:focus,
|
|
|
|
&.focus {
|
|
|
|
color: $color;
|
|
|
|
background-color: $active-background;
|
|
|
|
border-color: $active-border;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// when it is an icon, kill the active bg on open dropdown, but stabilize on hover
|
2016-03-21 17:56:51 +03:00
|
|
|
.open > &.dropdown-toggle.bmd-btn-icon {
|
2016-01-26 21:12:48 +03:00
|
|
|
color: inherit;
|
|
|
|
background-color: $background;
|
|
|
|
|
|
|
|
// leave hover on with the lighter focus color
|
|
|
|
&:hover {
|
|
|
|
background-color: $focus-background;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&.disabled,
|
|
|
|
&:disabled {
|
|
|
|
&:focus,
|
|
|
|
&.focus {
|
|
|
|
background-color: $background;
|
|
|
|
border-color: $border;
|
|
|
|
}
|
|
|
|
@include hover {
|
|
|
|
background-color: $background;
|
|
|
|
border-color: $border;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-08-03 19:49:32 +03:00
|
|
|
@mixin bmd-flat-button-variant(
|
|
|
|
$color,
|
|
|
|
$border: $bmd-btn-border,
|
|
|
|
$focus-border: $bmd-btn-focus-bg,
|
|
|
|
$active-border: $bmd-btn-active-bg
|
|
|
|
) {
|
2016-03-28 23:18:19 +03:00
|
|
|
$background: $bmd-btn-bg;
|
|
|
|
$focus-background: $bmd-btn-focus-bg;
|
|
|
|
$active-background: $bmd-btn-active-bg;
|
2016-01-26 21:12:48 +03:00
|
|
|
|
2016-03-21 17:56:51 +03:00
|
|
|
@include bmd-button-variant($color,
|
2016-01-26 21:12:48 +03:00
|
|
|
$background,
|
|
|
|
$focus-background,
|
|
|
|
$active-background,
|
|
|
|
$border,
|
|
|
|
$focus-border,
|
|
|
|
$active-border);
|
|
|
|
|
|
|
|
// inverse color scheme
|
|
|
|
.bg-inverse & {
|
2016-03-28 23:18:19 +03:00
|
|
|
$focus-background: $bmd-inverse-btn-focus-bg;
|
|
|
|
$focus-border: $bmd-inverse-btn-focus-bg;
|
2016-01-26 21:12:48 +03:00
|
|
|
|
2016-03-28 23:18:19 +03:00
|
|
|
$active-background: $bmd-inverse-btn-active-bg;
|
|
|
|
$active-border: $bmd-inverse-btn-active-bg;
|
2016-01-26 21:12:48 +03:00
|
|
|
|
2016-03-21 17:56:51 +03:00
|
|
|
@include bmd-button-variant($color,
|
2016-01-26 21:12:48 +03:00
|
|
|
$background,
|
|
|
|
$focus-background,
|
|
|
|
$active-background,
|
|
|
|
$border,
|
|
|
|
$focus-border,
|
|
|
|
$active-border);
|
|
|
|
}
|
|
|
|
|
|
|
|
// reverse the above for links
|
|
|
|
&.btn-link {
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-03-21 17:56:51 +03:00
|
|
|
@mixin bmd-flat-button-color() {
|
2016-03-28 23:18:19 +03:00
|
|
|
@include bmd-flat-button-variant($bmd-btn-color);
|
2016-01-26 21:12:48 +03:00
|
|
|
|
|
|
|
// flat bg with text color variations
|
2018-01-23 14:29:26 +03:00
|
|
|
@each $color, $value in $theme-colors {
|
|
|
|
&.btn-#{$color} {
|
|
|
|
@include bmd-flat-button-variant($value);
|
|
|
|
}
|
2016-01-26 21:12:48 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-01-23 14:29:26 +03:00
|
|
|
@mixin bmd-outline-border() {
|
|
|
|
border-color: currentColor;
|
|
|
|
border-style: solid;
|
|
|
|
border-width: 1px;
|
|
|
|
}
|
|
|
|
|
2016-08-03 19:49:32 +03:00
|
|
|
@mixin bmd-outline-button-color() {
|
2018-01-23 14:29:26 +03:00
|
|
|
&.btn-outline {
|
|
|
|
@include bmd-outline-border();
|
2016-08-03 19:49:32 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
// flat bg with text and border color variations
|
2018-01-23 14:29:26 +03:00
|
|
|
@each $color, $value in $theme-colors {
|
|
|
|
&.btn-outline-#{$color} {
|
|
|
|
@include bmd-outline-border();
|
|
|
|
@include bmd-flat-button-variant($value, $value, $value, $value);
|
|
|
|
}
|
2016-08-03 19:49:32 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-03-21 17:56:51 +03:00
|
|
|
@mixin bmd-raised-button-variant($color, $background, $border) {
|
2016-01-26 21:12:48 +03:00
|
|
|
// FIXME: SPEC - this should be the 600 color, how can we get that programmatically if at all? Or are we limited to the color palette only?
|
2017-08-11 17:59:31 +03:00
|
|
|
$focus-background: contrast-color(
|
2018-01-23 14:29:26 +03:00
|
|
|
$background,
|
|
|
|
darken($background, 4%),
|
|
|
|
lighten($background, 4%)
|
2017-08-11 17:59:31 +03:00
|
|
|
);
|
2016-01-26 21:12:48 +03:00
|
|
|
//$focus-background: darken($background, 10%); // default bootstrap
|
|
|
|
$focus-border: darken($border, 12%);
|
|
|
|
|
|
|
|
$active-background: $focus-background;
|
|
|
|
//$active-background: darken($background, 17%);
|
|
|
|
$active-border: darken($border, 25%);
|
|
|
|
|
2016-03-21 17:56:51 +03:00
|
|
|
@include bmd-button-variant($color,
|
2016-01-26 21:12:48 +03:00
|
|
|
$background,
|
|
|
|
$focus-background,
|
|
|
|
$active-background,
|
|
|
|
$border,
|
|
|
|
$focus-border,
|
|
|
|
$active-border);
|
|
|
|
}
|
|
|
|
|
2016-03-21 17:56:51 +03:00
|
|
|
@mixin bmd-raised-button-color() {
|
2018-01-23 14:29:26 +03:00
|
|
|
@each $color, $value in $theme-colors {
|
|
|
|
&.btn-#{$color} {
|
|
|
|
@include bmd-raised-button-variant(#fff, $value, $value);
|
|
|
|
}
|
2016-01-26 21:12:48 +03:00
|
|
|
}
|
2018-01-23 14:29:26 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
@mixin undo-bs-tab-focus() {
|
|
|
|
// clear out the tab-focus() from BS
|
|
|
|
&,
|
|
|
|
&:active,
|
|
|
|
&.active {
|
|
|
|
&:focus,
|
|
|
|
&.focus {
|
|
|
|
//@include tab-focus();
|
|
|
|
outline: 0;
|
|
|
|
}
|
2016-01-26 21:12:48 +03:00
|
|
|
}
|
|
|
|
}
|