krautworld-website_kraut.world/assets/sass/components/_button.scss
2022-05-09 13:22:27 +02:00

104 lines
2.1 KiB
SCSS

///
/// Prototype by Pixelarity
/// pixelarity.com | hello@pixelarity.com
/// License: pixelarity.com/license
///
/* Button */
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
@include vendor('appearance', 'none');
@include vendor('transition', 'background-color #{_duration(transition)} ease-in-out, color #{_duration(transition)} ease-in-out');
border-radius: _size(border-radius);
border: 0;
cursor: pointer;
display: inline-block;
font-size: 0.8em;
font-weight: _font(weight-bold);
height: 4.1em;
letter-spacing: _font(kerning-alt);
line-height: 4.25em;
padding: 0 3em;
text-align: center;
text-decoration: none;
text-transform: uppercase;
white-space: nowrap;
&.icon {
&:before {
margin-right: 0.5em;
}
}
&.fit {
width: 100%;
}
&.small {
font-size: 0.8em;
}
&.major {
min-width: 20em;
}
&.disabled,
&:disabled {
@include vendor('pointer-events', 'none');
opacity: 0.35;
}
}
@mixin color-button($p: null) {
$highlight: _palette($p, highlight);
input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
background-color: transparent;
box-shadow: inset 0 0 0 1px _palette($p, border);
color: _palette($p, fg-bold) !important;
&:hover {
background-color: _palette($p, border-bg);
&:active {
background-color: _palette($p, border-bg-alt);
}
}
&.disabled,
&:disabled {
background-color: _palette($p, border);
}
&.primary {
box-shadow: none;
@if $p == $highlight {
background-color: _palette($p, fg-bold);
color: _palette($p, bg) !important;
}
@else {
background-color: _palette($highlight, bg);
color: _palette($highlight, fg-bold) !important;
&:hover {
background-color: lighten(_palette($highlight, bg), 5);
&:active {
background-color: darken(_palette($highlight, bg), 5);
}
}
}
}
}
}
@include color-button;