// stylelint-disable block-closing-brace-newline-after // Button color generator for primary and themed buttons // New button hotness @mixin btn-solid($color, $bg, $bg2) { color: $color; background-color: $bg2; background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%); @if $bg == $gray-000 { &:focus, &.focus { box-shadow: $btn-input-focus-shadow; } &:hover, &.hover { background-color: darken($bg2, 3%); background-image: linear-gradient(-180deg, darken($bg, 3%) 0%, darken($bg2, 3%) 90%); background-position: 0 -$em-spacer-5; border-color: rgba($black, 0.35); } &:active, &.selected, [open] > & { background-color: darken(desaturate($bg, 10%), 6%); background-image: none; border-color: rgba($black, 0.35); // repeat to avoid shift on click-drag off of button box-shadow: $btn-active-shadow; } &:disabled, &.disabled { color: rgba($color, 0.4); background-color: $bg2; background-image: none; border-color: transparentize($black, 0.8); // back to default .btn box-shadow: none; } } @else { &:focus, &.focus { box-shadow: 0 0 0 0.2em rgba($bg, 0.4); } &:hover, &.hover { background-color: darken($bg2, 2%); background-image: linear-gradient(-180deg, darken($bg, 2%) 0%, darken($bg2, 2%) 90%); background-position: 0 -$em-spacer-5; border-color: $black-fade-50; } &:active, &.selected, [open] > & { background-color: darken(mix($bg, $bg2, 50%), 7%); background-image: none; border-color: $black-fade-50; // repeat to avoid shift on click-drag off of button box-shadow: $btn-active-shadow; } &:disabled, &.disabled { color: rgba($color, 0.75); background-color: mix($bg2, $white, 50%); background-image: none; border-color: transparentize($black, 0.8); // repeat .btn default to avoid shift on click-drag off of button box-shadow: none; } .Counter { color: darken($bg, 8%); background-color: $white; } } } // Inverse button hover style @mixin btn-inverse($color, $bg, $bg2) { color: $color; background-color: $bg; background-image: linear-gradient(-180deg, $bg 0%, $bg2 90%); &:focus { box-shadow: 0 0 0 0.2em rgba($color, 0.4); } &:hover { color: $text-white; background-color: $color; background-image: linear-gradient(-180deg, lighten($color, 10%) 0%, $color 90%); border-color: $black-fade-50; .Counter { color: $text-white; } } &:active, &.selected, [open] > & { color: $text-white; background-color: darken($color, 5%); background-image: none; border-color: $black-fade-50; box-shadow: $btn-active-shadow; } &:disabled, &.disabled { color: rgba($color, 0.4); background-color: $bg2; background-image: none; border-color: transparentize($black, 0.8); // back to default .btn box-shadow: none; } } // Outline color generator for btn-outline to make the hover state inverse the text and bg colors. @mixin btn-outline($text-color: $text-blue, $bg-color: $bg-white) { color: $text-color; background-color: $bg-color; background-image: none; .Counter { background-color: rgba($black, 0.07); } &:hover, &:active, &.selected, [open] > & { color: $bg-color; background-color: $text-color; background-image: none; border-color: $text-color; .Counter { color: $text-color; background-color: $bg-color; } } &:focus { border-color: $text-color; box-shadow: 0 0 0 0.2em rgba($text-color, 0.4); } &:disabled, &.disabled { color: $black-fade-30; background-color: $bg-white; border-color: $black-fade-15; box-shadow: none; } }