// 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 : // - $val : @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 : // - e.g "rem" or "box-sizing" // - $requirements : // - e.g (variable: rem-with-px-fallback, mixin: rem) // - $warn : @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; }