stylesheets/flint/functions/lib/_calc-width.scss in flint-gs-2.3.6 vs stylesheets/flint/functions/lib/_calc-width.scss in flint-gs-2.3.7

- old
+ new

@@ -1,70 +1,70 @@ -/// -/// Calculate width -/// -/// @access private -/// -/// @param {String} $key - key of breakpoint -/// @param {Number} $span - span value of element -/// @param {Number|String} $context [null] - context value of element -/// @param {Number} $deduct [null] - subtract value out of final width -/// -/// @return {Map} - map of target and context result -/// -/// @group Internal Functions -/// -@function flint-calc-width($key, $span, $context: null, $deduct: null) { - $result: (); - - // Check to see if value has been cached - @if map-has-key($flint-cached-values, "#{$key, $span, $context, $deduct}::width") and $context != "auto" { - @return map-get($flint-cached-values, "#{$key, $span, $context, $deduct}::width"); - } - - @if $span == "container" { - - $result: flint-get-value("breakpoints", $key, "breakpoint"); - - } @else if $context == "auto" { - - // - // Check if instance maps are enabled - // - @if not flint-get-value("settings", "instance-maps") { - @if not $flint-development-mode { - @error "Instance maps are disabled. Automatic context is not available. Enable `instance-maps` in the config to continue."; - } @else { - @warn "Instance maps are disabled. Automatic context is not available. Enable `instance-maps` in the config to continue."; - } - } - - @if flint-has-family-instance($key) { - $result: map-merge($result, ("target": ((flint-get-instance-value($key, "internal", "width") / flint-get-instance-value($key, "span") * $span) - if($deduct, $deduct, 0)))); - $result: map-merge($result, ("context": flint-get-instance-value($key, "internal", "width"))); - } @else { - @if not $flint-development-mode { - @error "You set context to `#{$context}`, but a parent instance could not be found for `#{nth(&, 1) + '::' + $key}`"; - } @else { - @return false; - } - } - - } @else { - - $result: map-merge($result, ("target": ((flint-get-value("breakpoints", $key, "breakpoint") / flint-get-value("breakpoints", $key, "columns") * $span) - if($deduct, $deduct, 0)))); - - @if $context { - $result: map-merge($result, ("context": flint-get-value("breakpoints", $key, "breakpoint") / flint-get-value("breakpoints", $key, "columns") * $context)); - } @else { - $result: map-merge($result, ("context": flint-get-value("breakpoints", $key, "breakpoint"))); - } - - } - - // Save result to cache - @if $context != "auto" { - $flint-cached-values: map-merge($flint-cached-values, ("#{$key, $span, $context, $deduct}::width": $result)) !global; - } - - // Return result - @return $result; -} +/// +/// Calculate width +/// +/// @access private +/// +/// @param {String} $key - key of breakpoint +/// @param {Number} $span - span value of element +/// @param {Number|String} $context [null] - context value of element +/// @param {Number} $deduct [null] - subtract value out of final width +/// +/// @return {Map} - map of target and context result +/// +/// @group Internal Functions +/// +@function flint-calc-width($key, $span, $context: null, $deduct: null) { + $result: (); + + // Check to see if value has been cached + @if map-has-key($flint-cached-values, "#{$key, $span, $context, $deduct}::width") and $context != "auto" { + @return map-get($flint-cached-values, "#{$key, $span, $context, $deduct}::width"); + } + + @if $span == "container" { + + $result: flint-get-value("breakpoints", $key, "breakpoint"); + + } @else if $context == "auto" { + + // + // Check if instance maps are enabled + // + @if not flint-get-value("settings", "instance-maps") { + @if not $flint-development-mode { + @error "Instance maps are disabled. Automatic context is not available. Enable `instance-maps` in the config to continue."; + } @else { + @warn "Instance maps are disabled. Automatic context is not available. Enable `instance-maps` in the config to continue."; + } + } + + @if flint-has-family-instance($key) { + $result: map-merge($result, ("target": ((flint-get-instance-value($key, "internal", "width") / flint-get-instance-value($key, "span") * $span) - if($deduct, $deduct, 0)))); + $result: map-merge($result, ("context": flint-get-instance-value($key, "internal", "width"))); + } @else { + @if not $flint-development-mode { + @error "You set context to `#{$context}`, but a parent instance could not be found for `#{nth(&, 1) + '::' + $key}`"; + } @else { + @return false; + } + } + + } @else { + + $result: map-merge($result, ("target": ((flint-get-value("breakpoints", $key, "breakpoint") / flint-get-value("breakpoints", $key, "columns") * $span) - if($deduct, $deduct, 0)))); + + @if $context { + $result: map-merge($result, ("context": flint-get-value("breakpoints", $key, "breakpoint") / flint-get-value("breakpoints", $key, "columns") * $context)); + } @else { + $result: map-merge($result, ("context": flint-get-value("breakpoints", $key, "breakpoint"))); + } + + } + + // Save result to cache + @if $context != "auto" { + $flint-cached-values: map-merge($flint-cached-values, ("#{$key, $span, $context, $deduct}::width": $result)) !global; + } + + // Return result + @return $result; +}