partkeepr/PartKeepr

View on GitHub
theme/themes/stylesheets/ext4/default/mixins/_color-by-background.scss

Summary

Maintainability
Test Coverage
/**
 * Creates color from background color.
 *
 * @param {Color} $bg-color The background color.
 * @param {Percentage} [$contrast=70%]
 * @param {Color} [$default-color=null]
 * @param {Color} [$bevel-text=true]
 * @member Global_CSS
 */
@mixin color-by-background($bg-color, $contrast: 70%, $default-color: null, $bevel-text: true) {
    @if ($default-color != null) {
        color: $default-color;
    } @else {
        @if (lightness($bg-color) > 40) {
            color: darken($bg-color, $contrast);
        }
        @else {
            color: lighten($bg-color, $contrast)
        }
    }

    @if ($bevel-text != false) {
        @if (lightness($bg-color) < 40) {
            @include text-shadow(rgba(0,0,0,.5) 0 -1px 0);
        } @else {
            @include text-shadow(rgba(255,255,255,.25) 0 1px 0);
        }
    }
}