diff options
Diffstat (limited to 'source/bower_components/foundation/scss/foundation/_functions.scss')
-rw-r--r-- | source/bower_components/foundation/scss/foundation/_functions.scss | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/source/bower_components/foundation/scss/foundation/_functions.scss b/source/bower_components/foundation/scss/foundation/_functions.scss new file mode 100644 index 0000000..c719360 --- /dev/null +++ b/source/bower_components/foundation/scss/foundation/_functions.scss @@ -0,0 +1,101 @@ +// Foundation by ZURB +// foundation.zurb.com +// Licensed under MIT Open Source + +// This is the default html and body font-size for the base rem value. +$rem-base: 16px !default; + +// IMPORT ONCE +// We use this to prevent styles from being loaded multiple times for compenents that rely on other components. +$modules: () !default; +@mixin exports($name) { + @if(not index($modules, $name)) { + $modules: append($modules, $name) !global; + @content; + } +} + +// +// @functions +// + + +// RANGES +// We use these functions to define ranges for various things, like media queries. +@function lower-bound($range){ + @if length($range) <= 0 { + @return 0; + } + @return nth($range,1); +} + +@function upper-bound($range) { + @if length($range) < 2 { + @return 999999999999; + } + @return nth($range, 2); +} + +// STRIP UNIT +// It strips the unit of measure and returns it +@function strip-unit($num) { + @return $num / ($num * 0 + 1); +} + +// CONVERT TO REM +@function convert-to-rem($value, $base-value: $rem-base) { + $value: strip-unit($value) / strip-unit($base-value) * 1rem; + @if ($value == 0rem) { $value: 0; } // Turn 0rem into 0 + @return $value; +} + +@function data($attr) { + @if $namespace { + @return '[data-' + $namespace + '-' + $attr + ']'; + } + + @return '[data-' + $attr + ']'; +} + +// REM CALC + +// New Syntax, allows to optionally calculate on a different base value to counter compounding effect of rem's. +// Call with 1, 2, 3 or 4 parameters, 'px' is not required but supported: +// +// rem-calc(10 20 30px 40); +// +// Space delimited, if you want to delimit using comma's, wrap it in another pair of brackets +// +// rem-calc((10, 20, 30, 40px)); +// +// Optionally call with a different base (eg: 8px) to calculate rem. +// +// rem-calc(16px 32px 48px, 8px); +// +// If you require to comma separate your list +// +// rem-calc((16px, 32px, 48), 8px); + +@function rem-calc($values, $base-value: $rem-base) { + $max: length($values); + + @if $max == 1 { @return convert-to-rem(nth($values, 1), $base-value); } + + $remValues: (); + @for $i from 1 through $max { + $remValues: append($remValues, convert-to-rem(nth($values, $i), $base-value)); + } + @return $remValues; +} + +// OLD EM CALC +// Deprecated: We'll drop support for this in 5.1.0, use rem-calc() +@function emCalc($values){ + @return rem-calc($values); +} + +// OLD EM CALC +// Deprecated: We'll drop support for this in 5.1.0, use rem-calc() +@function em-calc($values){ + @return rem-calc($values); +} |