Files
ticketbeast/resources/assets/less/buttons.less
2016-11-09 10:35:42 -05:00

228 lines
5.0 KiB
Plaintext

@button-border-radius: @border-radius;
@btn-disabled-bg: @color-gray-lighter;
@btn-disabled-border: @color-gray;
@btn-disabled-text: @btn-disabled-border;
.btn {
display: inline-block;
padding: 0.5em 1em;
font-weight: @font-weight-bold;
line-height: 1.25;
border-radius: @button-border-radius;
&:focus, &:hover {
text-decoration: none;
}
&:active, &:focus {
.tab-focus;
}
&:disabled {
cursor: not-allowed;
opacity: 0.2;
}
}
.btn-block {
display: block;
width: 100%;
text-align: center;
}
.btn-sm {
font-size: @font-size-sm;
}
.btn-lg {
font-size: @font-size-lg;
}
.btn-xs {
// padding: @spacer-1;
// padding-top: 0;
// padding-bottom: 0;
font-size: @font-size-xs;
}
.btn-wide {
padding-left: 2em;
padding-right: 2em;
}
.btn-primary-outline {
.button-outline-variant(@color-brand-primary);
}
.btn-inv-outline {
.button-outline-variant(@color-white);
}
.btn-danger {
.button-outline-variant(@color-danger);
}
.btn-link {
font-weight: @font-weight-normal;
color: @text-dark;
background-color: transparent;
&:focus, &:hover {
color: darken(@text-dark, 15%);
text-decoration: underline;
}
}
.btn-pad-lg {
padding: @spacer-2 @spacer-4;
}
.btn-loading {
position: relative;
color: transparent !important;
&:after {
position: absolute !important;
display: block;
height: 1rem;
width: 1rem;
top: 50%;
left: 50%;
margin-left: -0.5rem;
margin-top: -0.5rem;
border: 2px solid @text-dark;
border-radius: 0.5rem;
border-right-color: transparent;
border-top-color: transparent;
animation: spin-around 500ms infinite linear;
content: "";
}
}
// .button-variant(@color; @background) {
// @active-background: darken(desaturate(@background, 0%), 10%);
// color: @color;
// background-color: @background;
// background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.25), transparent);
// border: 1px solid @border-color;
// font-weight: @font-weight-bold;
// &:active, &:hover {
// color: @color;
// background-color: @active-background;
// border-color: @active-background;
// }
// &:focus {
// color: @color;
// }
// &:disabled {
// background-color: @btn-disabled-bg;
// border-color: @btn-disabled-border;
// color: @btn-disabled-text;
// background-color: @color-gray-lighter;
// border-color: @color-black;
// color: @color-black;
// }
// &.btn-loading:after {
// border-left-color: fade(@color, 70%);
// border-bottom-color: fade(@color, 70%);
// }
// }
.button-outline-variant(@color) {
@inactive-border: lighten(@color, 0%);
color: @color;
background-color: transparent;
border: 1px solid @inactive-border;
font-weight: @font-weight-normal;
&:active, &:hover {
color: @color;
background-color: fade(@color, 10%);
border-color: @color;
}
&:focus {
color: @color;
}
&:disabled {
&:active, &:hover {
border-color: @inactive-border;
}
}
}
.btn-variant(@text; @background) {
@border-color: @background;
@bottom-border-color: darken(desaturate(@background, 0%), 8%);
color: @text;
font-weight: 700;
background-color: @background;
border: 1px solid @border-color;
border-bottom: 1px solid @bottom-border-color;
& when (lightness(@text) >= 50%) {
@text-shadow-color: @bottom-border-color;
text-shadow: 0px -1px @text-shadow-color;
}
& when (lightness(@text) < 50%) {
text-shadow: 0px 1px hsla(255, 255, 255, 0.4);
}
&:active, &:hover {
color: @text;
background-color: darken(@background, 5%);
border: 1px solid darken(@border-color, 5%);
border-bottom: 1px solid darken(@bottom-border-color, 5%);
}
// &:focus {
// color: @text;
// }
&:disabled {
background-color: @btn-disabled-bg;
border-color: @btn-disabled-border;
color: @btn-disabled-text;
background-color: @color-gray-lighter;
background-image: none;
border-color: @color-black;
color: @color-black;
}
&.btn-loading {
text-shadow: none;
&:after {
border-left-color: fade(@text, 70%);
border-bottom-color: fade(@text, 70%);
}
&:disabled {
color: @text;
background-color: @background;
border-color: @border-color;
border-bottom-color: @bottom-border-color;
opacity: 0.5;
}
}
}
.btn-primary {
// #36a4e4 dig this color if I go no-gradient
// hsl(202, 76%, 55%)
.btn-variant(@color-white; @color-brand-primary);
.box-shadow;
}
.btn-secondary {
.btn-variant(@text-dark; @color-gray-lighter);
}