//
|
|
// Buttons
|
|
//
|
|
|
|
|
|
// from bootstrap 4
|
|
//https: //github.com/twbs/bootstrap/blob/v4-dev/scss/mixins/_buttons.scss
|
|
|
|
@mixin button-variant($color, $background, $border) {
|
|
$active-background: darken($background,10%);
|
|
$active-border: darken($border,12%);
|
|
|
|
color: $color;
|
|
background-color: $background;
|
|
border-color: $border; // Hover and focus styles are shared
|
|
|
|
&.active, &:hover, &:active, &:focus, &:active:focus {
|
|
color: $color;
|
|
background-color: $active-background;
|
|
border-color: $active-border;
|
|
}
|
|
|
|
// Disabled comes first so active can properly restyle
|
|
|
|
&.disabled, &:disabled {
|
|
background-color: $background;
|
|
border-color: $border;
|
|
}
|
|
&:active, &.active, .show > &.dropdown-toggle {
|
|
color: $color;
|
|
background-color: $active-background;
|
|
background-image: none; // Remove the gradient for the pressed/active state
|
|
border-color: $active-border;
|
|
z-index: 99;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//
|
|
// Outline button variant
|
|
//
|
|
|
|
@mixin button-outline-variant($color) {
|
|
color: $color;
|
|
background-image: none;
|
|
background-color: transparent;
|
|
border-color: $color;
|
|
&.btn-icon {
|
|
span {
|
|
border-color: $color;
|
|
background-color: transparent;
|
|
transition: background-color 0.2s ease-in-out;
|
|
}
|
|
&:hover, &:focus, &:active, &:active:focus {
|
|
span {
|
|
background-color: rgba(0,0,0,0.1);
|
|
border-color: transparent;
|
|
}
|
|
}
|
|
}//end .btn-icon
|
|
|
|
|
|
&:hover {
|
|
color: map-get($colors, white);
|
|
background-color: $color;
|
|
border-color: $color;
|
|
}
|
|
&:focus, &.focus {
|
|
color: map-get($colors, white);
|
|
background-color: $color;
|
|
border-color: $color;
|
|
}
|
|
&:active, &.active, .open > &.dropdown-toggle {
|
|
color: map-get($colors, white);
|
|
background-color: $color;
|
|
border-color: $color;
|
|
&:hover, &:focus, &.focus {
|
|
color: map-get($colors, white);
|
|
background-color: darken($color,17%);
|
|
border-color: darken($color,25%);
|
|
}
|
|
}
|
|
&.active{
|
|
background-color: darken($color,17%);
|
|
border-color: darken($color,25%);
|
|
}
|
|
&.disabled, &:disabled {
|
|
&:focus, &.focus { border-color: lighten($color,20%); }
|
|
&:hover { border-color: lighten($color,20%); }
|
|
}
|
|
} //end outline varient
|
|
|
|
|
|
|
|
@mixin icon-button-variant($el-padding-3, $el-padding-5, $icon-width) {
|
|
padding-left: ($el-padding-5/2.5) + $icon-width;
|
|
&.btn-icon-right {
|
|
padding-left: $el-padding-5;
|
|
padding-right: ($el-padding-5/2.5) + $icon-width;
|
|
}
|
|
span {
|
|
width: $icon-width;
|
|
font-size: $icon-width/2;
|
|
}
|
|
}// end icon-button-variant
|
|
|
|
|
|
//
|
|
//zion button styles
|
|
//
|
|
|
|
.btn {
|
|
padding: $el-padding-3 $el-padding-5;
|
|
font-family: $font-1;
|
|
font-weight: 600;
|
|
font-size: modular-scale(-1);
|
|
letter-spacing: 0.01em;
|
|
border-radius: $radius-primary;
|
|
transition: all 0.2s ease-in-out;
|
|
line-height: 1.5;
|
|
|
|
&.btn-xs { padding: $el-padding-1 $el-padding-3; }
|
|
&.btn-sm { padding: $el-padding-2 $el-padding-4; }
|
|
&.btn-lg {
|
|
padding: $el-padding-4 $el-padding-6;
|
|
font-size: modular-scale(0);
|
|
}
|
|
&.active, &:active { box-shadow: none; }
|
|
}
|
|
|
|
.btn-capsule { border-radius: $radius-capsule; }
|
|
|
|
|
|
//
|
|
// solid buttons color
|
|
//
|
|
|
|
.btn-primary { @include button-variant(map-get($colors, white), map-get($colors, primary),darken(map-get($colors, primary),5%)); }
|
|
.btn-info { @include button-variant(map-get($colors, white), map-get($colors, info),darken(map-get($colors, info),5%)); }
|
|
.btn-success { @include button-variant(map-get($colors, white), map-get($colors, success),darken(map-get($colors, success),5%)); }
|
|
.btn-warning { @include button-variant(map-get($colors, white), map-get($colors, warning),darken(map-get($colors, warning),5%)); }
|
|
.btn-danger { @include button-variant(map-get($colors, white), map-get($colors, danger),darken(map-get($colors, danger),5%)); }
|
|
.btn-white { @include button-variant(map-get($colors, 1), map-get($colors, white), map-get($colors, white)); }
|
|
.btn-dark { @include button-variant(map-get($colors, white), map-get($colors, 1), darken(map-get($colors, 1), 5%)); }
|
|
|
|
//
|
|
//outline buttons from bootstrap 4
|
|
//
|
|
|
|
.btn-outline-primary { @include button-outline-variant(map-get($colors, primary)); }
|
|
.btn-outline-info { @include button-outline-variant(map-get($colors, info)); }
|
|
.btn-outline-success { @include button-outline-variant(map-get($colors, success)); }
|
|
.btn-outline-warning { @include button-outline-variant(map-get($colors, warning)); }
|
|
.btn-outline-danger { @include button-outline-variant(map-get($colors, danger)); }
|
|
.btn-outline-dark { @include button-outline-variant(map-get($colors, 1)); }
|
|
.btn-outline-white {
|
|
@include button-outline-variant(map-get($colors, white));
|
|
&:hover, &:active, &:focus, &:active:focus { color: map-get($colors, 1); }
|
|
}
|
|
|
|
|
|
//
|
|
// Icon Buttons
|
|
//
|
|
|
|
.btn-icon {
|
|
@include icon-button-variant($el-padding-3,$el-padding-5,2.6rem);
|
|
position: relative;
|
|
span {
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
position: absolute;
|
|
background-color: rgba(0,0,0,0.1);
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
&.btn-icon-left { span { left: 0; } }
|
|
&.btn-icon-right {
|
|
span {
|
|
right: 0;
|
|
left: auto;
|
|
}
|
|
}
|
|
&.btn-capsule {
|
|
&.btn-icon-left { span { border-radius: $radius-capsule 0 0 $radius-capsule; } }
|
|
&.btn-icon-right { span { border-radius: 0 $radius-capsule $radius-capsule 0; } }
|
|
}
|
|
&.btn-xs { @include icon-button-variant($el-padding-1,$el-padding-3,2rem); }
|
|
&.btn-sm { @include icon-button-variant($el-padding-2,$el-padding-4,2.5rem); }
|
|
&.btn-lg { @include icon-button-variant($el-padding-4,$el-padding-6,4rem); }
|
|
&[class*='btn-outline-'] {
|
|
span {
|
|
border-right-width: 1px;
|
|
border-right-style: solid;
|
|
}
|
|
&.btn-icon-right {
|
|
span {
|
|
border-left-width: 1px;
|
|
border-left-style: solid;
|
|
border-right: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.btn-icon-pop{
|
|
span{
|
|
font-size: 1.5em;
|
|
transform: translateY(0.13em);
|
|
line-height: 0;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Special buttons
|
|
//
|
|
|
|
|
|
.btn-facebook { @include button-variant(map-get($colors, white), map-get($colors, facebook), map-get($colors, facebook)); }
|
|
.btn-twitter { @include button-variant(map-get($colors, white), map-get($colors, twitter), map-get($colors, twitter)); }
|
|
.btn-google-plus { @include button-variant(map-get($colors, white), map-get($colors, google-plus), map-get($colors, google-plus)); }
|
|
.btn-github { @include button-variant(map-get($colors, white), map-get($colors, github), map-get($colors, github)); }
|
|
|
|
|
|
|
|
.btn-outline-twitter { @include button-outline-variant(map-get($colors, twitter)); }
|
|
.btn-outline-facebook { @include button-outline-variant(map-get($colors, facebook)); }
|
|
.btn-outline-google-plus { @include button-outline-variant(map-get($colors, google-plus)); }
|
|
.btn-outline-github { @include button-outline-variant(map-get($colors, github)); }
|