<a class="button button--blue button--inactive" id="button-ac94" href="#">Das ist ein Button.
</a>
-
//- Prepare attr object
attr = attr || {};
attr.class = classList(attr.class);
attr.id = id || attr.id || `button-${randomString()}`;
//- Tag
tag = link ? 'a' : 'button';
//- Process options
if (color || modifier) {
attr.class.push(`button--${color || modifier}`);
}
if (outline) {
attr.class.push('button--outline');
}
if (transparent) {
attr.class.push('button--transparent');
}
if (inactive) {
attr.class.push('button--inactive');
}
if (link) {
attr.href = link;
} else {
attr.type = submit ? 'submit' : 'button';
}
// Icon only
if (!text && icon) {
attr.class.push('button--icon');
}
//- Render atom
#{tag}.button&attributes(attr)
if icon
!= include('@icon', {icon, attr: {class: 'button__icon'}})
| #{content || text}
if iconAfter
!= include('@icon', {icon: iconAfter, attr: {class: 'button__icon button__icon--after'}})
{
"text": "Das ist ein Button.",
"modifier": "blue",
"link": "#",
"inactive": true
}
// Default button
.button {
background-color: $color-steelgrey-dark;
border: 2px solid transparent;
border-radius: 3px;
color: #fff;
cursor: pointer;
display: inline-block;
font-size: 1.4rem;
font-weight: bold;
line-height: 1;
margin: 0 auto;
max-width: 100%;
padding: calc(3.1rem / 2 - 2px) calc(3rem - 2px);
text-align: center;
text-decoration: none;
text-transform: uppercase;
transition-duration: $default-transition-duration;
transition-property: background-color, color, border-color, text-decoration;
user-select: none;
width: auto;
// If buttons are grouped, add some spacing between them
& + & {
margin-left: $spacer;
}
// Default focus, hover
&:hover,
&:focus {
background-color: $color-steelgrey-xdark;
text-decoration: underline;
}
}
// Simple
.button--simple {
padding: calc(1.8rem / 2 - 2px) calc(1.5rem - 2px);
text-transform: none;
}
// Colors
.button--red {
background-color: $color-red;
&:focus,
&:hover {
background-color: $color-red-dark;
}
&.button--outline {
background-color: #fff;
border-color: $color-red;
color: $color-red;
}
&.button--outline:hover,
&.button--outline:focus, {
background-color: $color-red;
color: #fff;
}
}
.button--blue {
background-color: $color-blue-light;
&:focus,
&:hover {
background-color: $color-blue;
}
&.button--outline {
background-color: #fff;
border-color: $color-blue-light;
color: $color-blue-light;
}
&.button--outline:hover,
&.button--outline:focus, {
background-color: $color-blue-light;
color: #fff;
}
&.button--transparent {
background-color: transparent;
border-color: $color-blue-light;
color: $color-blue-light;
}
&.button--transparent:focus,
&.button--transparent:hover {
background-color: $color-blue-light;
color: #fff;
}
&.button--inactive {
background-color: $color-steelgrey-dark;
color: #fff;
pointer-events: none;
}
}
.button--white-red {
background-color: #fff;
color: $color-red;
&:focus,
&:hover {
background-color: #fff;
}
&.button--outline {
background-color: $color-red;
border-color: #fff;
color: #fff;
}
&.button--outline:hover,
&.button--outline:focus, {
background-color: #fff;
color: $color-red;
}
}
.button--white-blue {
background-color: #fff;
color: $color-blue;
&:focus,
&:hover {
background-color: $color-blue-light;
color: #fff;
}
&.button--outline {
background-color: $color-blue;
border-color: #fff;
color: #fff;
}
&.button--outline:hover,
&.button--outline:focus, {
background-color: #fff;
color: $color-blue;
}
}
.button--icon {
padding: calc(1.5rem - 2px);
.button__icon {
margin: 0;
}
}
.button__icon {
margin-right: 1rem;
}
.button__icon--after {
margin-left: 1rem;
margin-right: 0;
}
There are no notes for this item.