Files
ionic-framework/ionic/util/functions.scss
2016-02-14 14:43:37 -06:00

77 lines
1.5 KiB
SCSS

// Color Functions
// --------------------------------------------------
@function brightness($color-value) {
@return (red($color-value) * 0.299 + green($color-value) * 0.587 + blue($color-value) * 0.114) / 255 * 100%;
}
@function inverse($color-value, $dark: black, $light: white) {
$brightness: brightness($color-value);
$red: red($color-value);
$green: green($color-value);
@if ($brightness > 79) {
@return $dark;
}
@if ($green > 240) {
@return $dark;
}
@if ($red > 220 and $green > 180) {
@return $dark;
}
@return $light;
}
@function toolbar-button-inverse($color-value) {
@return inverse($color-value, $dark: $toolbar-md-button-color, $light: white);
}
@function color-shade($color-value, $amount:8%) {
$lightness: lightness($color-value);
$shade: white;
@if ($lightness > 50) {
$shade: black;
}
@return mix($shade, $color-value, $amount);
}
// Copy Colors Map
// --------------------------------------------------
@function copy-colors($colors-map) {
@return map-merge($colors-map, ());
}
// String Replace Function
// --------------------------------------------------
@function str-replace($string, $search, $replace: '') {
$index: str-index($string, $search);
@if $index {
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
}
@return $string;
}
// URL Encode Function
// --------------------------------------------------
@function url-encode($val) {
@return str-replace($val, ' ', '%20');
}