From 2119cb09901ca4595448517c6c90445e81b43867 Mon Sep 17 00:00:00 2001 From: Geoff Kimball Date: Tue, 19 Jan 2016 11:45:10 -0800 Subject: [PATCH] Remove transition code for responsive grid gutters --- scss/grid/_classes.scss | 27 ++++++++------------------- scss/grid/_column.scss | 28 ++++++++++++---------------- scss/grid/_flex-grid.scss | 33 ++++++++++++--------------------- scss/grid/_grid.scss | 31 +++++++++++++++++++++---------- scss/grid/_row.scss | 22 ++++++++++------------ scss/settings/_settings.scss | 2 +- 6 files changed, 64 insertions(+), 79 deletions(-) diff --git a/scss/grid/_classes.scss b/scss/grid/_classes.scss index 89bf04f5e..745adfd3c 100644 --- a/scss/grid/_classes.scss +++ b/scss/grid/_classes.scss @@ -28,21 +28,14 @@ // Collapsing &.#{$collapse} { - > .#{$column} { @include grid-col-collapse; } + > .#{$column} { + @include grid-col-collapse; + } } // Nesting & & { - @if $grid-column-gutter == null { - @each $breakpoint, $gutter in $grid-column-responsive-gutter { - @include breakpoint($breakpoint) { - @include grid-row-nest($gutter); - } - } - } - @else { - @include grid-row-nest($grid-column-gutter); - } + @include grid-row-nest($grid-column-gutter); &.#{$collapse} { margin-left: 0; @@ -115,17 +108,13 @@ } // Responsive collapsing - &.#{$-zf-size}-#{$collapse} { + .#{$-zf-size}-#{$collapse} { > .#{$column} { @include grid-col-collapse; } } - &.#{$-zf-size}-#{$uncollapse} { - @if $grid-column-gutter { - $gutter: $grid-column-gutter; - } - @else { - $gutter: -zf-get-bp-val($grid-column-responsive-gutter, $-zf-size); - } + .#{$-zf-size}-#{$uncollapse} { + $gutter: -zf-get-bp-val($grid-column-gutter, $-zf-size); + > .#{$column} { @include grid-col-uncollapse($gutter); } } diff --git a/scss/grid/_column.scss b/scss/grid/_column.scss index ed2638988..954e5052b 100644 --- a/scss/grid/_column.scss +++ b/scss/grid/_column.scss @@ -57,25 +57,21 @@ $columns: $grid-column-count, $gutter: $grid-column-gutter ) { - @if $gutter != null { - $gutter: rem-calc($gutter) / 2; - } - @else { - @each $breakpoint, $gutter in $grid-column-responsive-gutter { - $padding: rem-calc($gutter) / 2; - - @include breakpoint($breakpoint) { - padding-left: $padding; - padding-right: $padding; - } - } - } - + // Core properties @include grid-column-size($columns); float: $global-left; - padding-left: $gutter; - padding-right: $gutter; + // Gutters + @each $breakpoint, $value in $gutter { + $padding: rem-calc($value) / 2; + + @include breakpoint($breakpoint) { + padding-left: $padding; + padding-right: $padding; + } + } + + // Last column alignment @if $grid-column-align-edge { &:last-child:not(:first-child) { float: $global-right; diff --git a/scss/grid/_flex-grid.scss b/scss/grid/_flex-grid.scss index 29c5e5122..4931be47d 100644 --- a/scss/grid/_flex-grid.scss +++ b/scss/grid/_flex-grid.scss @@ -76,24 +76,19 @@ $columns: null, $gutter: $grid-column-gutter ) { - @if $gutter != null { - $gutter: rem-calc($gutter) / 2; - } - @else { - @each $breakpoint, $gutter in $grid-column-responsive-gutter { - $padding: rem-calc($gutter) / 2; - - @include breakpoint($breakpoint) { - padding-left: $padding; - padding-right: $padding; - } + // Base properties + flex: flex-grid-column($columns); + + // Padding + @each $breakpoint, $value in $gutter { + $padding: rem-calc($value) / 2; + + @include breakpoint($breakpoint) { + padding-left: $padding; + padding-right: $padding; } } - flex: flex-grid-column($columns); - padding-left: $gutter; - padding-right: $gutter; - // max-width fixes IE 10/11 not respecting the flex-basis property @if $columns != null and $columns != shrink { max-width: grid-column($columns); @@ -201,12 +196,8 @@ } .#{$-zf-size}-uncollapse { - @if $grid-column-gutter { - $gutter: $grid-column-gutter; - } - @else { - $gutter: -zf-get-bp-val($grid-column-responsive-gutter, $-zf-size); - } + $gutter: -zf-get-bp-val($grid-column-gutter, $-zf-size); + > .column { @include grid-col-uncollapse($gutter); } } } diff --git a/scss/grid/_grid.scss b/scss/grid/_grid.scss index 85131f597..561060a63 100644 --- a/scss/grid/_grid.scss +++ b/scss/grid/_grid.scss @@ -14,14 +14,10 @@ $grid-row-width: $global-width !default; /// @type Number $grid-column-count: 12 !default; -// The amount of space between columns. Remove this in 6.2. -// @type Number -$grid-column-gutter: null !default; - -/// The amount of space between columns at different screen sizes. -/// @type Map +/// The amount of space between columns at different screen sizes. To use just one size, set the variable to a number instead of a map. +/// @type Map | Length /// @since 6.1.0 -$grid-column-responsive-gutter: ( +$grid-column-gutter: ( small: 20px, medium: 30px, ) !default; @@ -30,13 +26,28 @@ $grid-column-responsive-gutter: ( /// @type Boolean $grid-column-align-edge: true !default; -// Internal value to store the end column float direction -$-zf-end-float: if($grid-column-align-edge, $global-right, $global-left); - /// The highest number of `.x-up` classes available when using the block grid CSS. /// @type Number $block-grid-max: 8 !default; +// Internal value to store the end column float direction +$-zf-end-float: if($grid-column-align-edge, $global-right, $global-left); + +// The last piece to transition the responsive gutter feature +// Remove this in 6.3 +$grid-column-responsive-gutter: null !default; +@if $grid-column-responsive-gutter { + @debug 'Rename $grid-column-responsive-gutter to $grid-column-gutter to remove this warning.'; + $grid-column-gutter: $grid-column-responsive-gutter; +} + +// If a single value is passed as a gutter, convert it to a map so the code knows what to do with it +@if type-of($grid-column-gutter) == 'number' { + $grid-column-gutter: ( + small: $grid-column-gutter, + ); +} + @import 'row'; @import 'column'; @import 'size'; diff --git a/scss/grid/_row.scss b/scss/grid/_row.scss index 27cbfade8..75467072c 100644 --- a/scss/grid/_row.scss +++ b/scss/grid/_row.scss @@ -79,19 +79,17 @@ /// Inverts the margins of a row to nest it inside of a column. /// /// @param {Map|null} $gutter [null] - Gutter value to use when inverting the margins. Set to `null` to refer to the responsive gutter settings. -@mixin grid-row-nest($gutter: null) { - @if $gutter != null { - $margin: rem-calc($gutter) / 2 * -1; - margin-left: $margin; - margin-right: $margin; +@mixin grid-row-nest($gutter: $grid-column-gutter) { + @if type-of($gutter) == 'number' { + $gutter: (small: $gutter); } - @else { - @each $breakpoint, $value in $grid-column-responsive-gutter { - $margin: rem-calc($value) / 2 * -1; - @include breakpoint($breakpoint) { - margin-left: $margin; - margin-right: $margin; - } + + @each $breakpoint, $value in $gutter { + $margin: rem-calc($value) / 2 * -1; + + @include breakpoint($breakpoint) { + margin-left: $margin; + margin-right: $margin; } } } diff --git a/scss/settings/_settings.scss b/scss/settings/_settings.scss index b98b980f5..934b48215 100644 --- a/scss/settings/_settings.scss +++ b/scss/settings/_settings.scss @@ -85,7 +85,7 @@ $breakpoint-classes: (small medium large); $grid-row-width: $global-width; $grid-column-count: 12; -$grid-column-responsive-gutter: ( +$grid-column-gutter: ( small: 20px, medium: 30px, ); -- 2.47.2