karanzrk's picture
model added
930af4a
raw
history blame
2.4 kB
// Font-size + Line-height + Kerning
// Usage: @include font-size(1, mobile)
// Add more true/false args to control what to output: font-size, line-height, kerning
@mixin font-size($size, $elem, $font-size: true, $line-height: false, $kerning: false, $adjust-font-size: 0) {
@if not map-has-key(map-get($font__scale, $elem), $size) {
@warn "'#{$size}' key does not exist in array!";
}
@if ( $font-size != false ) {
font-size: get-font-size($size, $elem) + $adjust-font-size;
}
@if ( $line-height == true ) {
line-height: get-line-height($size, $elem);
}
@if ( $kerning == true ) {
letter-spacing: get-kerning($size, $elem);
}
}
// Font Family
@mixin font-family($elem) {
font-family: unquote(get-font-family($elem));
}
// Font Weight
@mixin font-weight($elem) {
font-weight: get-font-weight($elem);
}
// Anchor aspect
@mixin anchor-aspect($type: 'main') {
@if ($type == 'main') { // Base
color: color(primary, 1);
text-decoration: none;
&:hover,
&:active {
outline: 0;
text-decoration: underline;
}
} @else if ($type == 'header') {
color: color(typography, 2i);
text-transform: uppercase;
text-decoration: none;
&:hover,
&:active {
color: color(typography, 1i);
}
} @else if ($type == 'footer') {
color: color(typography, 2);
text-decoration: none;
&:hover,
&:active {
text-decoration: underline;
}
}
}
@mixin shadow($layout: false) {
@if ( $layout == 'dark' ) {
box-shadow: 0 16px 48px rgba(darken(color(bg, 1i), 35%), .2);
} @else {
box-shadow: 0 16px 48px rgba(color(bg, 1), .5);
}
}
@mixin shadow-sm($layout: false) {
@if ( $layout == 'dark' ) {
box-shadow: 0 16px 24px rgba(darken(color(bg, 1i), 35%), .2);
} @else {
box-shadow: 0 16px 24px rgba(color(bg, 1), .5);
}
}
@mixin divider-mix($layout: false) {
display: block;
height: 1px;
@if ( $layout == 'dark' ) {
background: color(bg, 3i);
} @else {
background: color(bg, 3);
}
}
@mixin divider($type: false, $layout: false) {
@if ( $type == 'before' ) {
position: relative;
&::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
@include divider-mix($layout);
}
} @else if ($type == 'after') {
position: relative;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
@include divider-mix($layout);
}
} @else {
@include divider-mix($layout);
}
}