From f4d389007a9bdf3643b18f56db692caf1d7ca944 Mon Sep 17 00:00:00 2001 From: Kevin Ball Date: Tue, 1 Aug 2017 11:12:29 -0700 Subject: [PATCH] Fix collapse responsiveness bug in xy-grid --- scss/xy-grid/_classes.scss | 10 +++---- scss/xy-grid/_collapse.scss | 50 +++++++++++++++++++++---------- test/visual/xy-grid/collapse.html | 18 +++++++++++ 3 files changed, 58 insertions(+), 20 deletions(-) diff --git a/scss/xy-grid/_classes.scss b/scss/xy-grid/_classes.scss index 0c750a221..e7ae95eb2 100644 --- a/scss/xy-grid/_classes.scss +++ b/scss/xy-grid/_classes.scss @@ -219,16 +219,16 @@ // Collapse classes @mixin xy-collapse-grid-classes($margin-grid: true, $padding-grid: true) { - @include -zf-each-breakpoint { + @each $bp in $breakpoint-classes { @if $margin-grid { - .#{$-zf-size}-margin-collapse { - @include xy-grid-collapse($gutter-type: margin); + .#{$bp}-margin-collapse { + @include xy-grid-collapse($gutter-type: margin, $min-breakpoint: $bp); } } @if $padding-grid { - .#{$-zf-size}-padding-collapse { - @include xy-grid-collapse($gutter-type: padding); + .#{$bp}-padding-collapse { + @include xy-grid-collapse($gutter-type: padding, $min-breakpoint: $bp); } } } diff --git a/scss/xy-grid/_collapse.scss b/scss/xy-grid/_collapse.scss index 71a6f9701..d9029370d 100644 --- a/scss/xy-grid/_collapse.scss +++ b/scss/xy-grid/_collapse.scss @@ -14,40 +14,60 @@ @mixin xy-grid-collapse( $selector: '.cell', $gutter-type: margin, - $gutter-position: right left + $gutter-position: right left, + $min-breakpoint: $-zf-zero-breakpoint ) { // First, lets negate any margins on the top level @if ($gutter-type == 'margin') { - @each $value in $gutter-position { - margin-#{$value}: 0; - } + @include breakpoint($min-breakpoint) { + @each $value in $gutter-position { + margin-#{$value}: 0; + } > #{$selector} { @each $value in $gutter-position { margin-#{$value}: 0; } } + } + + $excluded-bps: -zf-breakpoints-less-than($min-breakpoint); // Output new widths to not include gutters @each $bp in $breakpoint-classes { - @for $i from 1 through $grid-columns { - // Sizing (percentage) - > .#{$bp}-#{$i} { - @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding); + @if(sl-contain($excluded-bps, $bp)) { + @include breakpoint($min-breakpoint) { + @for $i from 1 through $grid-columns { + // Sizing (percentage) + > .#{$bp}-#{$i} { + @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding); + } + } } - } + } @else { + @include breakpoint($bp) { + @for $i from 1 through $grid-columns { + // Sizing (percentage) + > .#{$bp}-#{$i} { + @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding); + } + } + } + } } } @else { - @each $value in $gutter-position { - margin-#{$value}: 0; - } - - > #{$selector} { + @include breakpoint($min-breakpoint) { @each $value in $gutter-position { - padding-#{$value}: 0; + margin-#{$value}: 0; + } + + > #{$selector} { + @each $value in $gutter-position { + padding-#{$value}: 0; + } } } } diff --git a/test/visual/xy-grid/collapse.html b/test/visual/xy-grid/collapse.html index d57d1cc79..df33fc2d3 100644 --- a/test/visual/xy-grid/collapse.html +++ b/test/visual/xy-grid/collapse.html @@ -48,6 +48,24 @@
4
+

Large margin collapse

+
+
10/8/6 cells
+
2/4/6 cells
+
+ +

Medium margin collapse

+
+
10/8/6 cells
+
2/4/6 cells
+
+ +

Small margin collapse

+
+
10/8/6 cells
+
2/4/6 cells
+
+

Padding Grid Collapse

-- 2.47.2