// Isolation Syntax // ================
// Isolate [Mixin] // ————— // Set isolation as an override. // - $location: <span> @mixin isolate(
$isolate: 1
) {
$inspect: $isolate; $output: ( push: isolate($isolate), flow: susy-get(flow, $isolate), ); @include susy-inspect(isolate, $inspect); @include isolate-output($output...);
}
// Isolate [function] // —————— // Return an isolation offset width. // - $location: <span> @function isolate(
$isolate: 1
) {
$isolate: parse-span($isolate); $isolation: susy-get(span, $isolate); @if $isolation and not(get-location($isolate)) { $new: ( span: null, location: $isolation, ); $isolate: map-merge($isolate, $new); } @return get-isolation($isolate);
}
// Get Isolation // ————- // Return the isolation offset width // - $input: <map> @function get-isolation(
$input
) {
$location : get-location($input); $columns : susy-get(columns, $input); $width : null; @if type-of($location) == number and not(unitless($location)) { $width: $location; } @else if $location { $push: $location - 1; @if $push > 0 { $push: map-merge($input, ( span: $push, location: 1, spread: wide, )); $width: get-span-width($push); } } @if susy-get(gutter-position, $input) == split and susy-get(gutters, $input) > 0 { $width: if($width == null, gutters($input), $width + gutters($input)); } @return $width or 0;
}