From dde494d65b6ff1900ad3bf1894db9426319f696e Mon Sep 17 00:00:00 2001 From: Michael Hellein Date: Mon, 13 Oct 2014 16:12:57 -0400 Subject: [PATCH] Refactored -compass-space-list to accept a single array argument. --- .../functions/_cross_browser_support.scss | 2 +- lib/compass/functions/_lists.scss | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/compass/functions/_cross_browser_support.scss b/lib/compass/functions/_cross_browser_support.scss index 45a3b4f..76c3fc2 100644 --- a/lib/compass/functions/_cross_browser_support.scss +++ b/lib/compass/functions/_cross_browser_support.scss @@ -21,7 +21,7 @@ $properties: ""; // Support for polymorphism. - @if length($property1) > 1 and $property2 == null { + @if type-of($property1) == 'list' { // Passing a single array of properties. $properties: $property1; } @else { diff --git a/lib/compass/functions/_lists.scss b/lib/compass/functions/_lists.scss index fcdadd8..d5212fe 100644 --- a/lib/compass/functions/_lists.scss +++ b/lib/compass/functions/_lists.scss @@ -20,13 +20,23 @@ // compass_list can't be implemented in sass script @function -compass-space-list($item1, $item2:null, $item3:null, $item4:null, $item5:null, $item6:null, $item7:null, $item8:null, $item9:null) { - $items: $item2, $item3, $item4, $item5, $item6, $item7, $item8, $item9; - $full: $item1; - @each $item in $items { + // Support for polymorphism. + @if type-of($item1) == 'list' { + // Passing a single array of properties. + $items: $item1; + } @else { + $items: $item1 $item2 $item3 $item4 $item5 $item6 $item7 $item8 $item9; + } + + $full: first-value-of($items); + + @for $i from 2 through length($items) { + $item: nth($items, $i); @if $item != null { $full: $full $item; - } + } } + @return $full; }