// Isolation Syntax // ================ // Isolate // ------- // Set isolation as an override. // - $input : @mixin isolate( $input: first ) { $input : parse-span($input); $output : ( push: get-isolation($input), flow: susy-get(flow, $input), ); @include isolate-output($output...); } // Get Isolation // ------------- // Return the isolation offset width // - $input: @function get-isolation( $input ) { $span : susy-get(span, $input); $location : susy-get(location, $input); $columns : susy-get(columns, $input); $width : null; @if type-of($location) == number and not unitless($location) { $width: $location; } @else { $push: get-location($span, $location, $columns) - 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 { $width: if($width == null, gutters($input), $width + gutters($input)); } @return $width; }