Closed envolute closed 6 years ago
It would be much better to change it to a function, so we can use it for whatever we like. Then the colors #111
and #fff
should naturally use some variables so you can customize it.
Additionally it would be nice to provide one or more mixins that utilize the function.
Function
// Color contrast
@function color-yiq($color) {
$r: red($color);
$g: green($color);
$b: blue($color);
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
@if ($yiq >= 150) {
@return $text-black;
} @else {
@return $text-white;
}
}
Mixins
@mixin text-color($color: $body-bg) {
color: color-yiq($color);
}
or
@mixin color-yiq($color: $body-bg, $prop: 'color') {
#{$prop}: color-yiq($color);
}
A PR is welcome.
Mixin was renamed to be a function in #24426.
With a simple change it is possible to use the color-yiq function with other properties, not just "color"
Just add the parameter "$prop: 'color'" that we can use other properties This can be interesting when you want to assign a background that contrasts with a color.