stylesheets/flint/functions/lib/_calc-width.scss in flint-gs-1.6.5 vs stylesheets/flint/functions/lib/_calc-width.scss in flint-gs-1.7.0

- old
+ new

@@ -4,38 +4,47 @@ // @param $span [number] : span value of element // @param $context [number] : context value of element // ------------------------------------------------------------------------------- // @return calculated value | false -@function calc-width($key, $span, $context: null) { - @if get-value("settings", "grid") == "fluid" { +@function flint-calc-width($key, $span, $context: null) { + $result: false; + // Check to see if value has been cached + @if map-has-key($flint__cached-values, "#{$key, $span, $context}::width") and $context != "auto" { + @return map-get($flint__cached-values, "#{$key, $span, $context}::width"); + } + + @if flint-get-value("settings", "grid") == "fluid" { @if $key == "container" or $span == "container" { - @return fluid-width(get-value($key, "breakpoint"), get-value($key, "breakpoint")); + $result: flint-fluid-width(flint-get-value($key, "breakpoint"), flint-get-value($key, "breakpoint")); } @else if $context == null { - @return fluid-width((get-value($key, "breakpoint") / get-value($key, "columns") * $span), get-value($key, "breakpoint")); + $result: flint-fluid-width((flint-get-value($key, "breakpoint") / flint-get-value($key, "columns") * $span), flint-get-value($key, "breakpoint")); } @else { - @return fluid-width((get-value($key, "breakpoint") / get-value($key, "columns") * $span), ((get-value($key, "breakpoint") / get-value($key, "columns") * $context))); + $result: flint-fluid-width((flint-get-value($key, "breakpoint") / flint-get-value($key, "columns") * $span), ((flint-get-value($key, "breakpoint") / flint-get-value($key, "columns") * $context))); } - - } @if get-value("settings", "grid") == "fixed" { - + } @if flint-get-value("settings", "grid") == "fixed" { @if $key == "container" or $span == "container" { - @return get-value($key, "breakpoint"); + $result: flint-get-value($key, "breakpoint"); } @else { - @return get-value($key, "breakpoint") / get-value($key, "columns") * $span; + $result: flint-get-value($key, "breakpoint") / flint-get-value($key, "columns") * $span; } + } - } @else { - @return false; + // Save result to cache + @if $context != "auto" { + $flint__cached-values: map-merge($flint__cached-values, ("#{$key, $span, $context}::width": $result)); } + + // Return result + @return $result; }