// Browser Support // ===============
// Susy Support Defaults // ——————— @include susy-defaults((
use-custom: ( clearfix: false, background-image: true, background-options: false, breakpoint: true, box-sizing: true, rem: true, ),
));
// Susy Support [mixin] // ——————– // Send property-value pairs to the proper support modules. // - $prop : <css property> // - $val : <css value> @mixin susy-support(
$prop, $val
) {
// Background Support @if $prop == background-image { @include susy-background-image($val); } @else if $prop == background-size { @include susy-background-size($val); } @else if $prop == background-origin { @include susy-background-origin($val); } @else if $prop == background-clip { @include susy-background-clip($val); } // Box-Sizing Support @else if $prop == box-sizing { @include susy-box-sizing($val); } // Rem Support @else { @include susy-rem($prop, $val); }
}
// Susy Support [function] // ———————– // Check for support of a feature. // - $feature : <string> // - e.g “rem” or “box-sizing” // - $requirements : <map> // - e.g (variable: rem-with-px-fallback, mixin: rem) // - $warn : <bool> @function susy-support(
$feature, $requirements: (), $warn: true
) {
$_support: susy-get(use-custom $feature); @if $_support { $_fail: false; @each $_type, $_req in $requirements { @each $_i in $_req { $_pass: call(unquote("#{$_type}-exists"), $_i); @if not($_pass) { $_fail: true; @if $warn { @warn "You requested custom support of #{$feature}, but the #{$_i} #{$_type} is not available."; } } } } $_support: if($_fail, false, $_support); } @return $_support;
}