| /* light, strong, medium */ |
| |
| @function get_contrast ($strength, $color, $desaturate: true) { |
| $new-color: $color; |
| $new-color: darken($color, $strength); |
| $strength-offset: 50; //in case of unexpected bright spots in dark themes |
| |
| @if lightness($new-color) <= 5 { |
| |
| @if $strength > $strength-offset { |
| $new-color: darken($color, $strength - $strength-offset); |
| //@warn "doppeldunkel #{$new-color}-"; |
| } |
| @else { |
| $new-color: lighten($color, $strength); |
| } |
| } |
| |
| @else if lightness($new-color) >= 95 { |
| $new-color: darken($color, $strength); |
| } |
| |
| |
| @if $desaturate == true { |
| $new-color: desaturate($new-color, 100%); |
| } |
| @return $new-color; |
| } |
| |
| |
| @function get_color_mix ($color, $mix, $strength) { |
| $new-color: mix($color, $mix, $strength); |
| @return $new-color; |
| } |
| |
| |
| /* |
| * Luminance Formula |
| * Y = 0.2126 R + 0.7152 G + 0.0722 B |
| 83 96 122 |
| |
| @function is-dark-color($color) { |
| $luminance: color-luminance($color); |
| @if $luminance < $v-luminance-threshold or (saturation($color) > 80% and ($luminance < $v-luminance-threshold + 20)) { |
| @return true; |
| } @else { |
| @return false; |
| } |
| } */ |
| |