74 lines
1.0 KiB
SCSS
74 lines
1.0 KiB
SCSS
@mixin icon {
|
|
display: inline-flex;
|
|
|
|
> svg {
|
|
width: 100%;
|
|
height: 100%;
|
|
* {
|
|
transition: fill $hover-transition-time;
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin icon-size($size) {
|
|
$icon-size: $size * .1rem;
|
|
width: $icon-size;
|
|
height: $icon-size;
|
|
margin: $icon-size / 4;
|
|
|
|
> svg {
|
|
width: $icon-size;
|
|
height: $icon-size;
|
|
}
|
|
}
|
|
|
|
@mixin icon-color($color) {
|
|
> svg * {
|
|
fill: $color;
|
|
}
|
|
}
|
|
|
|
@mixin icon-style-default {
|
|
@include icon-color($color-black);
|
|
}
|
|
|
|
@mixin icon-style-active {
|
|
@include icon-color($color-primary);
|
|
}
|
|
|
|
@mixin icon-style-inverted {
|
|
> svg * {
|
|
fill: $color-white;
|
|
}
|
|
}
|
|
|
|
.icon {
|
|
@include icon;
|
|
@include icon-size(16);
|
|
@include icon-style-default;
|
|
|
|
&.icon--tiny {
|
|
@include icon-size(10);
|
|
}
|
|
|
|
&.icon--large {
|
|
@include icon-size(24);
|
|
}
|
|
|
|
&.icon--remove, &.icon--red {
|
|
@include icon-color($color-red);
|
|
}
|
|
|
|
&.icon--green {
|
|
@include icon-color($color-green);
|
|
}
|
|
|
|
&.icon--gray {
|
|
@include icon-color($color-gray);
|
|
}
|
|
|
|
&.icon--medium {
|
|
@include icon-size(12);
|
|
}
|
|
}
|