// Returns either the `$light` or `$dark` color // by deciding which contrasts more with `$color`. // // E.g. This can be used to select the more readable foreground color // for a given background color. // // @param $color {Color} - The color that you wish to contrast with. // @return {Color} - Returns the value of `$dark` or `$light`, based on which one provides better contrast against the passed `$color`. @function auto-contrast($color) {

$dark: #000;
$light: #fff;

@if $color == null {
  @return null;
}
@else {
  // =====
  // $color-brightness: round((red($color) * 299) + (green($color) * 587) + (blue($color) * 114) / 1000);
  // $light-color: round((red(#ffffff) * 299) + (green(#ffffff) * 587) + (blue(#ffffff) * 114) / 1000);
  // @return if(abs($color-brightness) < ($light-color / 2), $light, $dark);
  // =====

  // YIQ Method for calculating colour contrast
  $yiq: (red($color) * 299 + green($color) * 587 + blue($color) * 114) / 1000;
  @return if($yiq >= 128, $dark, $light);
}

}