}
-/// Return a list of our named breakpoints starting from one in particular
+/// Return a list of our named breakpoints greater than $key
/// @access private
///
/// @param {String} $key - Key to use as a starting point.
///
-/// @returns {Array} The list of breakpoints greater or equal to $key. If $key is auto, returns entire list
-@function -zf-breakpoints-up-from($key) {
+/// @returns {Array} The list of breakpoints greater than $key. If $key is auto, returns breakpoints above the zero
+@function -zf-breakpoints-above($key) {
$list: ();
$found_key: false;
@if ($key == 'auto') {
- $list: $-zf-breakpoints-keys;
+ $list: -zf-breakpoints-above($-zf-zero-breakpoint);
}
@else {
@each $name in $-zf-breakpoints-keys {
- @if ($name == $key) {
- $found_key: true;
- }
@if ($found_key) {
$list: append($list, $name);
}
+ @if ($name == $key) {
+ $found_key: true;
+ }
}
}
@return $list;
@return $size;
}
+@mixin -zf-cell-margin-inner($size, $direction, $gutters, $breakpoint) {
+ @include breakpoint($breakpoint) {
+ @include -zf-breakpoint-value($breakpoint, $gutters) {
+ $gutter: rem-calc($-zf-bp-value);
+ @if($size == 'shrink'){
+ flex: 0 0 auto;
+ max-#{$direction}: calc(100% - #{$gutter});
+ } @elseif($size == 'full') {
+ flex: 1 1 calc(100% - #{$gutter});
+ } @else {
+ flex: 0 0 calc(#{zf-cell-size($size)} - #{$gutter});
+ max-#{$direction}: calc(#{zf-cell-size($size)} - #{$gutter});
+ }
+ }
+ }
+}
+
@mixin -zf-cell-margin($size, $gutters, $gutter-position, $vertical, $breakpoint) {
$direction: if($vertical == true, height, width);
@if($size == 'auto') {
}
}
} @else {
- @each $bp in -zf-breakpoints-up-from($breakpoint) {
- @include breakpoint($bp) {
- @include -zf-breakpoint-value($bp, $gutters) {
- $gutter: rem-calc($-zf-bp-value);
- @if($size == 'shrink'){
- flex: 0 0 auto;
- max-#{$direction}: calc(100% - #{$gutter});
- } @elseif($size == 'full') {
- flex: 1 1 calc(100% - #{$gutter});
- } @else {
- flex: 0 0 calc(#{zf-cell-size($size)} - #{$gutter});
- max-#{$direction}: calc(#{zf-cell-size($size)} - #{$gutter});
- }
+ @if($breakpoint == auto) {
+ $breakpoint: $-zf-zero-breakpoint;
+ }
+ @debug 'default setting ' + $size + ' inner for breakpoint ' + $breakpoint;
+ @include -zf-cell-margin-inner($size, $direction, $gutters, $breakpoint);
+ @each $bp in -zf-breakpoints-above($breakpoint) {
+ @if(type-of($gutters) == 'map') {
+ @if map-has-key($gutters, $bp) {
+ @debug 'inside loop setting ' + $size + ' inner for breakpoint ' + $bp;
+ @include -zf-cell-margin-inner($size, $direction, $gutters, $bp);
}
}
}