/home2/mshostin/www/assets/scss/black-dashboard/custom/mixins/_buttons.scss
@mixin btn-styles($btn-color, $btn-states-color) {
@include diagonal-gradient($btn-color, $btn-states-color);
background-color: $btn-color;
transition: all 0.15s ease;
box-shadow: none;
&.animation-on-hover:hover{
background-position: bottom left;
transition:0.3s ease-in-out;
}
&:hover,
&:focus,
&:active,
&.active,
&:active:focus,
&:active:hover,
&.active:focus,
&.active:hover
{
background-color: $btn-states-color !important;
background-image: linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-image: -webkit-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-image: -o-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-image: -moz-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
color: $white;
box-shadow: none;
}
&:active{
box-shadow: none !important;
transform: translateY(1px) !important;
transition: all .15s ease;
}
&:not([data-action]):hover{
box-shadow: 2px 2px 6px rgba(0,0,0,0.4);
transform: translateY(-1px);
-webkit-transform: translateY(-1px);
}
&.disabled,
&:disabled,
&[disabled],
fieldset[disabled] & {
&,
&:hover,
&:focus,
&.focus,
&:active,
&.active {
background-color: $btn-color;
border-color: $btn-color;
}
}
// btn-neutral style
@if $btn-color == $white{
color: $primary;
&.btn-danger{
color: $danger;
&:hover,
&:focus,
&:active,
&:active:focus{
color: $danger-states;
}
}
&.btn-info{
color: $info;
&:hover,
&:focus,
&:active,
&:active:focus{
color: $info-states;
}
}
&.btn-warning{
color: $warning;
&:hover,
&:focus,
&:active,
&:active:focus{
color: $warning-states;
}
}
&.btn-success{
color: $success;
&:hover,
&:focus,
&:active,
&:active:focus{
color: $success-states;
}
}
&.btn-default{
color: $default;
&:hover,
&:focus,
&:active,
&:active:focus{
color: $default-states;
}
}
&.active,
&:active,
&:active:focus,
&:active:hover,
&.active:focus,
&.active:hover,
.show > &.dropdown-toggle,
.show > &.dropdown-toggle:focus,
.show > &.dropdown-toggle:hover {
background-color: $white;
color: $primary-states;
box-shadow: none;
}
&:hover,
&:focus{
color: $primary-states;
&:not(.nav-link){
box-shadow: none;
}
}
} @else {
color: $white;
}
&.btn-simple{
color: $btn-color;
border-color: $btn-color;
background: $transparent-bg;
&:hover,
&:focus,
&:active,
&:not(:disabled):not(.disabled):active{
color: $btn-color;
border-color: $btn-color;
background-color: $transparent-bg !important;
background-image: none !important;
box-shadow: none;
}
&.active{
border-color: $btn-color !important;
&:hover,
&:focus,
&:active,
&:not(:disabled):not(.disabled):active{
color: $white;
border-color: $btn-color;
background-image: linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-image: -webkit-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-image: -o-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-image: -moz-linear-gradient(to bottom left, $btn-color, $btn-states-color, $btn-color) !important;
background-color: $btn-states-color !important;
box-shadow: none;
}
}
}
&.btn-link{
color: $btn-color;
&:hover,
&:focus,
&:active{
background-color: $transparent-bg !important;
background-image: none !important;
color: $white !important;
text-decoration: none;
box-shadow: none;
}
}
}
@mixin button-variant($background, $border, $hover-background: darken($background, 0%), $hover-border: darken($border, 0%), $active-background: darken($background, 10%), $active-border: darken($border, 0%)) {
color: color-yiq($background);
@include gradient-bg($background);
border-color: $border;
@include box-shadow($btn-box-shadow);
@include hover {
color: color-yiq($hover-background);
@include gradient-bg($hover-background);
border-color: $hover-border;
}
&:focus,
&.focus {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);
}
@else {
box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
}
} // Disabled comes first so active can properly restyle
&.disabled,
&:disabled {
color: color-yiq($background);
background-color: $background;
border-color: $border;
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show>&.dropdown-toggle {
color: color-yiq($active-background);
background-color: $active-background;
@if $enable-gradients {
background-image: none; // Remove the gradient for the pressed/active state
}
border-color: $active-border;
&:focus {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows {
box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($border, .5);
}
@else {
box-shadow: 0 0 0 $btn-focus-width rgba($border, .5);
}
}
}
}
@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
color: $color;
background-color: transparent;
background-image: none;
border-color: $color;
&:hover {
color: $color-hover;
background-color: $active-background;
border-color: $active-border;
}
&:focus,
&.focus {
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
&.disabled,
&:disabled {
color: $color;
background-color: transparent;
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show>&.dropdown-toggle {
color: color-yiq($active-background);
background-color: $active-background;
border-color: $active-border;
&:focus {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows and $btn-active-box-shadow !=none {
box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);
}
@else {
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
}
}
}
}
// Button sizes
@mixin btn-size($padding-vertical, $padding-horizontal, $font-size, $border){
font-size: $font-size;
border-radius: $border;
padding: $padding-vertical $padding-horizontal;
&.btn-simple{
padding: $padding-vertical - 1 $padding-horizontal - 1;
}
}
// for social buttons
@mixin social-buttons-color ($color, $state-color){
@include diagonal-gradient($color, darken($color,20%));
//background-color: $color;
color: $white;
background-size: 210% 210%;
background-position: top right;
background-repeat: space;
&:focus,
&:active,
&:hover{
background-color: $state-color;
background-image: linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;
background-image: -webkit-linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;
background-image: -o-linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;
background-image: -moz-linear-gradient(to bottom left, $color, darken($color,20%), $color) !important;
color: $white;
}
&.btn-simple{
color: $state-color;
background-color: $transparent-bg;
background-image: none !important;
box-shadow: none;
border-color: $state-color;
&:hover,
&:focus,
&:active{
color: $state-color;
border-color: $state-color;
}
}
&.btn-neutral{
color: $color;
background-color: $white;
&:hover,
&:focus,
&:active{
color: $state-color;
}
}
}