You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vestride_Shuffle/docs/_scss/components/_buttons.scss

156 lines
2.6 KiB
SCSS

.btn-group {
@include clearfix();
.btn {
float: left;
border-radius: 0;
}
.btn:first-child {
border-radius: 3px 0 0 3px;
}
.btn:not(:first-child) {
margin-left: -1px;
}
.btn:last-child {
border-radius: 0 3px 3px 0;
}
label.btn input[type='radio'] {
position: absolute;
clip: rect(0, 0, 0, 0);
pointer-events: none;
}
}
.btn {
display: inline-block;
padding: 0.75em 0.8em;
text-align: center;
border-radius: 3px;
border: 1px solid $gray20;
color: $gray20;
font-size: 1rem;
background-color: rgba($gray20, 0);
transition: 0.2s ease-out;
cursor: pointer;
-webkit-appearance: none;
@include with-fine-pointer() {
&:hover {
color: white;
text-decoration: none;
background-color: $gray20;
}
}
&:focus {
outline-width: 0;
box-shadow: 0 0 0 2px rgba($gray20, 0.4);
}
&.active,
&:active {
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
color: white;
background-color: $gray20;
}
&:focus.active {
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 0 2px rgba($gray20, 0.4);
}
&:disabled {
cursor: not-allowed;
opacity: 0.7;
color: $gray20;
background-color: rgba($gray20, 0);
}
}
$btn-variants: (
'warning': $carrot,
'primary': $river,
'danger': $alizarin,
'go': $emerald,
);
@each $name, $color in $btn-variants {
.btn--#{$name} {
color: $color;
border-color: $color;
background-color: rgba($color, 0);
@include with-fine-pointer() {
&:hover {
background-color: $color;
}
}
&:focus {
box-shadow: 0 0 0 2px rgba($color, 0.4);
}
&.active,
&:active {
background-color: $color;
}
&:focus.active {
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3), 0 0 0 2px rgba($color, 0.4);
}
&:disabled {
color: $color;
background-color: rgba($color, 0);
}
}
}
@include breakpoint(sm, true) {
.btn {
font-size: 0.875rem;
}
}
.filter-group .btn {
position: relative;
$size: 20px;
// Circle and check
&.active:before,
&.active:after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: $size;
height: $size;
margin-left: -$size * 0.5;
margin-top: -$size * 0.5;
opacity: 0;
transition: 0.2s;
}
// Circle
&:before {
background-color: $gray10;
border-radius: 50%;
}
// Check
&:after {
background-size: 60%;
background-position: center center;
background-repeat: no-repeat;
background-image: url(../img/check.svg);
}
&.active:before,
&.active:after {
opacity: 1;
}
}