123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- // Buttons
- .btn {
- appearance: none;
- background: $bg-color-light;
- border: $border-width solid $primary-color;
- border-radius: $border-radius;
- color: $primary-color;
- cursor: pointer;
- display: inline-block;
- font-size: $font-size;
- height: $control-size;
- line-height: $line-height;
- outline: none;
- padding: $control-padding-y $control-padding-x;
- text-align: center;
- text-decoration: none;
- transition: background .2s, border .2s, box-shadow .2s, color .2s;
- user-select: none;
- vertical-align: middle;
- white-space: nowrap;
- &:focus {
- @include control-shadow();
- }
- &:focus,
- &:hover {
- background: $secondary-color;
- border-color: $primary-color-dark;
- text-decoration: none;
- }
- &:active,
- &.active {
- background: $primary-color-dark;
- border-color: darken($primary-color-dark, 5%);
- color: $light-color;
- text-decoration: none;
- &.loading {
- &::after {
- border-bottom-color: $light-color;
- border-left-color: $light-color;
- }
- }
- }
- &[disabled],
- &:disabled,
- &.disabled {
- cursor: default;
- opacity: .5;
- pointer-events: none;
- }
- // Button Primary
- &.btn-primary {
- background: $primary-color;
- border-color: $primary-color-dark;
- color: $light-color;
- &:focus,
- &:hover {
- background: darken($primary-color-dark, 2%);
- border-color: darken($primary-color-dark, 5%);
- color: $light-color;
- }
- &:active,
- &.active {
- background: darken($primary-color-dark, 4%);
- border-color: darken($primary-color-dark, 7%);
- color: $light-color;
- }
- &.loading {
- &::after {
- border-bottom-color: $light-color;
- border-left-color: $light-color;
- }
- }
- }
- // Button Colors
- &.btn-success {
- @include button-variant($success-color);
- }
- &.btn-error {
- @include button-variant($error-color);
- }
- // Button Link
- &.btn-link {
- background: transparent;
- border-color: transparent;
- color: $link-color;
- &:focus,
- &:hover,
- &:active,
- &.active {
- color: $link-color-dark;
- }
- }
- // Button Sizes
- &.btn-sm {
- font-size: $font-size-sm;
- height: $control-size-sm;
- padding: $control-padding-y-sm $control-padding-x-sm;
- }
- &.btn-lg {
- font-size: $font-size-lg;
- height: $control-size-lg;
- padding: $control-padding-y-lg $control-padding-x-lg;
- }
- // Button Block
- &.btn-block {
- display: block;
- width: 100%;
- }
- // Button Action
- &.btn-action {
- width: $control-size;
- padding-left: 0;
- padding-right: 0;
- &.btn-sm {
- width: $control-size-sm;
- }
- &.btn-lg {
- width: $control-size-lg;
- }
- }
- // Button Clear
- &.btn-clear {
- background: transparent;
- border: 0;
- color: currentColor;
- height: $unit-5;
- line-height: $unit-4;
- margin-left: $unit-1;
- margin-right: -2px;
- opacity: 1;
- padding: $unit-h;
- text-decoration: none;
- width: $unit-5;
- &:focus,
- &:hover {
- background: rgba($bg-color, .5);
- opacity: .95;
- }
- &::before {
- content: "\2715";
- }
- }
- }
- // Button groups
- .btn-group {
- display: inline-flex;
- flex-wrap: wrap;
- .btn {
- flex: 1 0 auto;
- &:first-child:not(:last-child) {
- border-bottom-right-radius: 0;
- border-top-right-radius: 0;
- }
- &:not(:first-child):not(:last-child) {
- border-radius: 0;
- margin-left: -$border-width;
- }
- &:last-child:not(:first-child) {
- border-bottom-left-radius: 0;
- border-top-left-radius: 0;
- margin-left: -$border-width;
- }
- &:focus,
- &:hover,
- &:active,
- &.active {
- z-index: $zindex-0;
- }
- }
- &.btn-group-block {
- display: flex;
- .btn {
- flex: 1 0 0;
- }
- }
- }
|