File: D:/HostingSpaces/slenders/slenders.nl/resources/sass/site/5-Components/_components.button.scss
/* ==========================================================================
* Default button
* ========================================================================== */
/* 1. Color gets inherited and used for nested elements with 'currentColor' property */
.c-button {
@include flex(center, $display: inline-flex);
@include font(base, 20, medium);
padding: 11px 0 10px;
background-color: transparent;
border: 1px solid currentColor;
color: palette(primary); /* 1 */
text-decoration: none;
cursor: pointer;
transition-property: background-color, border, color;
transition-duration: 0.3s;
&:hover:not(:disabled) {
background-color: rgba(palette(primary), 0.1);
}
&:active:not(:disabled) {
transform: translateY(1px);
}
&:disabled {
opacity: 0.5;
cursor: not-allowed;
}
@include mq($max:450) {
@include font-size(16);
}
}
.c-button__text {
padding: 0 25px;
text-align: center;
}
.c-button__icon {
display: none; // By default icon is hidden
position: relative;
width: 8px;
height: 15px;
margin-top: 2px;
margin-right: 25px;
transition: transform 0.3s;
svg {
width: 100%;
}
.c-button:hover:not(:disabled) & {
transform: translateX(4px);
}
// When icon comes before the text (in the DOM) switch the margin
&:first-child {
margin-right: 0;
margin-left: 15px;
}
.c-button--icon & {
display: block; // Show when has icon modifier
}
}
.c-button--filled {
background-color: palette(primary);
color: white;
&:hover:not(:disabled) {
background-color: palette(primary, 700);
}
}
.c-button--on-dark {
color: palette(secondary, 100);
&:hover:not(:disabled) {
color: rgba(palette(secondary, 100), 0.75);
}
}