foundation-rails 6.2.4.0 → 6.3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/Rakefile +2 -0
- data/bower.json +2 -2
- data/lib/foundation/rails/version.rb +1 -1
- data/lib/generators/foundation/templates/_settings.scss +117 -70
- data/lib/generators/foundation/templates/foundation_and_overrides.scss +2 -1
- data/vendor/assets/_vendor/normalize-scss/sass/_normalize.scss +3 -0
- data/vendor/assets/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
- data/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
- data/vendor/assets/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
- data/vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
- data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
- data/vendor/assets/js/foundation.abide.js.es6 +28 -0
- data/vendor/assets/js/foundation.accordion.js.es6 +1 -1
- data/vendor/assets/js/foundation.accordionMenu.js.es6 +9 -1
- data/vendor/assets/js/foundation.core.js.es6 +4 -4
- data/vendor/assets/js/foundation.drilldown.js.es6 +128 -14
- data/vendor/assets/js/foundation.dropdown.js.es6 +48 -42
- data/vendor/assets/js/foundation.dropdownMenu.js.es6 +20 -18
- data/vendor/assets/js/foundation.equalizer.js.es6 +12 -6
- data/vendor/assets/js/foundation.interchange.js.es6 +3 -2
- data/vendor/assets/js/foundation.js.es6 +2 -1
- data/vendor/assets/js/foundation.magellan.js.es6 +28 -9
- data/vendor/assets/js/foundation.offcanvas.js.es6 +90 -123
- data/vendor/assets/js/foundation.orbit.js.es6 +61 -10
- data/vendor/assets/js/foundation.responsiveMenu.js.es6 +2 -0
- data/vendor/assets/js/foundation.responsiveToggle.js.es6 +52 -12
- data/vendor/assets/js/foundation.reveal.js.es6 +48 -48
- data/vendor/assets/js/foundation.slider.js.es6 +124 -42
- data/vendor/assets/js/foundation.sticky.js.es6 +11 -9
- data/vendor/assets/js/foundation.tabs.js.es6 +164 -35
- data/vendor/assets/js/foundation.toggler.js.es6 +3 -0
- data/vendor/assets/js/foundation.tooltip.js.es6 +20 -10
- data/vendor/assets/js/foundation.util.box.js.es6 +2 -2
- data/vendor/assets/js/foundation.util.keyboard.js.es6 +37 -0
- data/vendor/assets/js/foundation.util.mediaQuery.js.es6 +16 -0
- data/vendor/assets/js/foundation.util.motion.js.es6 +7 -1
- data/vendor/assets/js/foundation.util.nest.js.es6 +10 -5
- data/vendor/assets/js/foundation.util.timerAndImageLoader.js.es6 +6 -4
- data/vendor/assets/js/foundation.util.triggers.js.es6 +54 -36
- data/vendor/assets/js/foundation.zf.responsiveAccordionTabs.js.es6 +240 -0
- data/vendor/assets/scss/_global.scss +25 -450
- data/vendor/assets/scss/components/_accordion-menu.scss +8 -4
- data/vendor/assets/scss/components/_accordion.scss +43 -22
- data/vendor/assets/scss/components/_badge.scss +17 -9
- data/vendor/assets/scss/components/_breadcrumbs.scss +7 -5
- data/vendor/assets/scss/components/_button-group.scss +54 -6
- data/vendor/assets/scss/components/_button.scss +27 -16
- data/vendor/assets/scss/components/_callout.scss +3 -2
- data/vendor/assets/scss/components/_card.scss +121 -0
- data/vendor/assets/scss/components/_close-button.scss +54 -13
- data/vendor/assets/scss/components/_drilldown.scss +19 -5
- data/vendor/assets/scss/components/_dropdown-menu.scss +23 -18
- data/vendor/assets/scss/components/_dropdown.scss +14 -7
- data/vendor/assets/scss/components/_flex-video.scss +1 -63
- data/vendor/assets/scss/components/_float.scss +1 -1
- data/vendor/assets/scss/components/_label.scss +16 -8
- data/vendor/assets/scss/components/_media-object.scss +2 -3
- data/vendor/assets/scss/components/_menu.scss +68 -33
- data/vendor/assets/scss/components/_off-canvas.scss +231 -80
- data/vendor/assets/scss/components/_orbit.scss +8 -6
- data/vendor/assets/scss/components/_pagination.scss +42 -22
- data/vendor/assets/scss/components/_progress-bar.scss +1 -1
- data/vendor/assets/scss/components/_responsive-embed.scss +66 -0
- data/vendor/assets/scss/components/_reveal.scss +17 -11
- data/vendor/assets/scss/components/_slider.scss +6 -1
- data/vendor/assets/scss/components/_sticky.scss +3 -3
- data/vendor/assets/scss/components/_switch.scss +47 -36
- data/vendor/assets/scss/components/_table.scss +83 -23
- data/vendor/assets/scss/components/_tabs.scss +54 -23
- data/vendor/assets/scss/components/_thumbnail.scss +17 -4
- data/vendor/assets/scss/components/_title-bar.scss +5 -6
- data/vendor/assets/scss/components/_tooltip.scss +15 -12
- data/vendor/assets/scss/components/_top-bar.scss +11 -8
- data/vendor/assets/scss/forms/_checkbox.scss +2 -1
- data/vendor/assets/scss/forms/_error.scss +10 -6
- data/vendor/assets/scss/forms/_fieldset.scss +7 -7
- data/vendor/assets/scss/forms/_input-group.scss +17 -11
- data/vendor/assets/scss/forms/_label.scss +2 -0
- data/vendor/assets/scss/forms/_meter.scss +9 -10
- data/vendor/assets/scss/forms/_progress.scss +9 -9
- data/vendor/assets/scss/forms/_range.scss +20 -15
- data/vendor/assets/scss/forms/_select.scss +26 -8
- data/vendor/assets/scss/forms/_text.scss +19 -16
- data/vendor/assets/scss/foundation.scss +19 -3
- data/vendor/assets/scss/grid/_classes.scss +31 -14
- data/vendor/assets/scss/grid/_column.scss +10 -24
- data/vendor/assets/scss/grid/_flex-grid.scss +84 -76
- data/vendor/assets/scss/grid/_grid.scss +0 -16
- data/vendor/assets/scss/grid/_gutter.scss +53 -5
- data/vendor/assets/scss/grid/_layout.scss +3 -3
- data/vendor/assets/scss/grid/_position.scss +3 -3
- data/vendor/assets/scss/grid/_row.scss +24 -19
- data/vendor/assets/scss/settings/_settings.scss +117 -70
- data/vendor/assets/scss/typography/_base.scss +110 -44
- data/vendor/assets/scss/typography/_helpers.scss +1 -0
- data/vendor/assets/scss/typography/_print.scss +7 -3
- data/vendor/assets/scss/typography/_typography.scss +0 -2
- data/vendor/assets/scss/util/_breakpoint.scss +28 -19
- data/vendor/assets/scss/util/_color.scss +69 -16
- data/vendor/assets/scss/util/_flex.scss +20 -3
- data/vendor/assets/scss/util/_math.scss +72 -0
- data/vendor/assets/scss/util/_mixins.scss +63 -26
- data/vendor/assets/scss/util/_selector.scss +3 -2
- data/vendor/assets/scss/util/_unit.scss +61 -4
- data/vendor/assets/scss/util/_util.scss +1 -0
- data/vendor/assets/scss/util/_value.scss +33 -0
- metadata +17 -2
@@ -13,6 +13,13 @@ $-zf-flex-align: (
|
|
13
13
|
'stretch': stretch,
|
14
14
|
);
|
15
15
|
|
16
|
+
$-zf-flex-direction: (
|
17
|
+
'row': row,
|
18
|
+
'row-reverse': row-reverse,
|
19
|
+
'column': column,
|
20
|
+
'column-reverse': column-reverse,
|
21
|
+
);
|
22
|
+
|
16
23
|
/// Enables flexbox by adding `display: flex` to the element.
|
17
24
|
@mixin flex {
|
18
25
|
display: flex;
|
@@ -28,7 +35,7 @@ $-zf-flex-align: (
|
|
28
35
|
$x: map-get($-zf-flex-justify, $x);
|
29
36
|
}
|
30
37
|
@else {
|
31
|
-
@warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.'
|
38
|
+
@warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.';
|
32
39
|
}
|
33
40
|
}
|
34
41
|
|
@@ -37,7 +44,7 @@ $-zf-flex-align: (
|
|
37
44
|
$y: map-get($-zf-flex-align, $y);
|
38
45
|
}
|
39
46
|
@else {
|
40
|
-
@warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.'
|
47
|
+
@warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.';
|
41
48
|
}
|
42
49
|
}
|
43
50
|
|
@@ -54,7 +61,7 @@ $-zf-flex-align: (
|
|
54
61
|
$y: map-get($-zf-flex-align, $y);
|
55
62
|
}
|
56
63
|
@else {
|
57
|
-
@warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.'
|
64
|
+
@warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.';
|
58
65
|
}
|
59
66
|
}
|
60
67
|
|
@@ -66,3 +73,13 @@ $-zf-flex-align: (
|
|
66
73
|
@mixin flex-order($order: 0) {
|
67
74
|
order: $order;
|
68
75
|
}
|
76
|
+
|
77
|
+
/// Change flex-direction
|
78
|
+
/// @param {Keyword} $direction [row] - Flex direction to use. Can be
|
79
|
+
/// - row (default): same as text direction
|
80
|
+
/// - row-reverse: opposite to text direction
|
81
|
+
/// - column: same as row but top to bottom
|
82
|
+
/// - column-reverse: same as row-reverse top to bottom
|
83
|
+
@mixin flex-direction($direction: row) {
|
84
|
+
flex-direction: $direction;
|
85
|
+
}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
// Foundation for Sites by ZURB
|
2
|
+
// foundation.zurb.com
|
3
|
+
// Licensed under MIT Open Source
|
4
|
+
|
5
|
+
////
|
6
|
+
/// @group functions
|
7
|
+
////
|
8
|
+
|
9
|
+
/// Finds the greatest common divisor of two integers.
|
10
|
+
///
|
11
|
+
/// @param {Number} $a - First number to compare.
|
12
|
+
/// @param {Number} $b - Second number to compare.
|
13
|
+
///
|
14
|
+
/// @returns {Number} The greatest common divisor.
|
15
|
+
@function gcd($a, $b) {
|
16
|
+
// From: http://rosettacode.org/wiki/Greatest_common_divisor#JavaScript
|
17
|
+
@if ($b != 0) {
|
18
|
+
@return gcd($b, $a % $b);
|
19
|
+
}
|
20
|
+
@else {
|
21
|
+
@return abs($a);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
/// Handles decimal exponents by trying to convert them into a fraction and then use a nth-root-algorithm for parts of the calculation
|
26
|
+
///
|
27
|
+
/// @param {Number} $base - The base number.
|
28
|
+
/// @param {Number} $exponent - The exponent.
|
29
|
+
///
|
30
|
+
/// @returns {Number} The product of the exponentiation.
|
31
|
+
@function pow($base, $exponent, $prec: 12) {
|
32
|
+
@if (floor($exponent) != $exponent) {
|
33
|
+
$prec2 : pow(10, $prec);
|
34
|
+
$exponent: round($exponent * $prec2);
|
35
|
+
$denominator: gcd($exponent, $prec2);
|
36
|
+
@return nth-root(pow($base, $exponent / $denominator), $prec2 / $denominator, $prec);
|
37
|
+
}
|
38
|
+
|
39
|
+
$value: $base;
|
40
|
+
@if $exponent > 1 {
|
41
|
+
@for $i from 2 through $exponent {
|
42
|
+
$value: $value * $base;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
@else if $exponent < 1 {
|
46
|
+
@for $i from 0 through -$exponent {
|
47
|
+
$value: $value / $base;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
@return $value;
|
52
|
+
}
|
53
|
+
|
54
|
+
@function nth-root($num, $n: 2, $prec: 12) {
|
55
|
+
// From: http://rosettacode.org/wiki/Nth_root#JavaScript
|
56
|
+
$x: 1;
|
57
|
+
|
58
|
+
@for $i from 0 through $prec {
|
59
|
+
$x: 1 / $n * (($n - 1) * $x + ($num / pow($x, $n - 1)));
|
60
|
+
}
|
61
|
+
|
62
|
+
@return $x;
|
63
|
+
}
|
64
|
+
|
65
|
+
/// Calculates the height as a percentage of the width for a given ratio.
|
66
|
+
/// @param {List} $ratio - Ratio to use to calculate the height, formatted as `x by y`.
|
67
|
+
/// @return {Number} A percentage value for the height relative to the width of a responsive container.
|
68
|
+
@function ratio-to-percentage($ratio) {
|
69
|
+
$w: nth($ratio, 1);
|
70
|
+
$h: nth($ratio, 3);
|
71
|
+
@return $h / $w * 100%;
|
72
|
+
}
|
@@ -16,31 +16,33 @@
|
|
16
16
|
$triangle-color,
|
17
17
|
$triangle-direction
|
18
18
|
) {
|
19
|
-
content: '';
|
20
19
|
display: block;
|
21
20
|
width: 0;
|
22
21
|
height: 0;
|
22
|
+
|
23
23
|
border: inset $triangle-size;
|
24
24
|
|
25
|
+
content: '';
|
26
|
+
|
25
27
|
@if ($triangle-direction == down) {
|
26
|
-
border-color: $triangle-color transparent transparent;
|
27
|
-
border-top-style: solid;
|
28
28
|
border-bottom-width: 0;
|
29
|
+
border-top-style: solid;
|
30
|
+
border-color: $triangle-color transparent transparent;
|
29
31
|
}
|
30
32
|
@if ($triangle-direction == up) {
|
31
|
-
border-color: transparent transparent $triangle-color;
|
32
|
-
border-bottom-style: solid;
|
33
33
|
border-top-width: 0;
|
34
|
+
border-bottom-style: solid;
|
35
|
+
border-color: transparent transparent $triangle-color;
|
34
36
|
}
|
35
37
|
@if ($triangle-direction == right) {
|
36
|
-
border-color: transparent transparent transparent $triangle-color;
|
37
|
-
border-left-style: solid;
|
38
38
|
border-right-width: 0;
|
39
|
+
border-left-style: solid;
|
40
|
+
border-color: transparent transparent transparent $triangle-color;
|
39
41
|
}
|
40
42
|
@if ($triangle-direction == left) {
|
41
|
-
border-color: transparent $triangle-color transparent transparent;
|
42
|
-
border-right-style: solid;
|
43
43
|
border-left-width: 0;
|
44
|
+
border-right-style: solid;
|
45
|
+
border-color: transparent $triangle-color transparent transparent;
|
44
46
|
}
|
45
47
|
}
|
46
48
|
|
@@ -71,31 +73,33 @@
|
|
71
73
|
$spacing: floor($spacing);
|
72
74
|
}
|
73
75
|
|
76
|
+
@for $i from 2 through $bars {
|
77
|
+
$offset: ($weight + $spacing) * ($i - 1);
|
78
|
+
$shadow: append($shadow, 0 $offset 0 $color, comma);
|
79
|
+
}
|
80
|
+
|
74
81
|
// Icon container
|
75
82
|
position: relative;
|
76
83
|
display: inline-block;
|
77
84
|
vertical-align: middle;
|
78
|
-
cursor: pointer;
|
79
85
|
width: $width;
|
80
86
|
height: $height;
|
87
|
+
cursor: pointer;
|
81
88
|
|
82
89
|
// Icon bars
|
83
90
|
&::after {
|
84
|
-
content: '';
|
85
91
|
position: absolute;
|
86
|
-
display: block;
|
87
|
-
width: 100%;
|
88
|
-
height: $weight;
|
89
|
-
background: $color;
|
90
92
|
top: 0;
|
91
93
|
left: 0;
|
92
94
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
}
|
95
|
+
display: block;
|
96
|
+
width: 100%;
|
97
|
+
height: $weight;
|
97
98
|
|
99
|
+
background: $color;
|
98
100
|
box-shadow: $shadow;
|
101
|
+
|
102
|
+
content: '';
|
99
103
|
}
|
100
104
|
|
101
105
|
// Hover state
|
@@ -141,8 +145,9 @@
|
|
141
145
|
@mixin clearfix {
|
142
146
|
&::before,
|
143
147
|
&::after {
|
144
|
-
content: ' ';
|
145
148
|
display: table;
|
149
|
+
content: ' ';
|
150
|
+
|
146
151
|
@if $global-flexbox {
|
147
152
|
flex-basis: 0;
|
148
153
|
order: 1;
|
@@ -188,8 +193,8 @@
|
|
188
193
|
/// Reverses the CSS output created by the `element-invisible()` mixin.
|
189
194
|
@mixin element-invisible-off {
|
190
195
|
position: static !important;
|
191
|
-
height: auto;
|
192
196
|
width: auto;
|
197
|
+
height: auto;
|
193
198
|
overflow: visible;
|
194
199
|
clip: auto;
|
195
200
|
}
|
@@ -223,17 +228,49 @@
|
|
223
228
|
///
|
224
229
|
/// @param {Boolean} $small [true] - If `false`, the mixin will skip the `small` breakpoint. Use this with components that don't prefix classes with `small-`, only `medium-` and up.
|
225
230
|
@mixin -zf-each-breakpoint($small: true) {
|
226
|
-
$
|
231
|
+
$list: $breakpoint-classes;
|
227
232
|
|
228
233
|
@if not $small {
|
229
|
-
$
|
234
|
+
$list: sl-remove($list, $-zf-zero-breakpoint);
|
230
235
|
}
|
231
236
|
|
232
|
-
@each $
|
233
|
-
$-zf-size: $
|
237
|
+
@each $name in $list {
|
238
|
+
$-zf-size: $name !global;
|
234
239
|
|
235
|
-
@include breakpoint($
|
240
|
+
@include breakpoint($name) {
|
236
241
|
@content;
|
237
242
|
}
|
238
243
|
}
|
239
244
|
}
|
245
|
+
|
246
|
+
/// Generate the `@content` passed to the mixin with a value `$-zf-bp-value` related to a breakpoint, depending on the `$name` parameter:
|
247
|
+
/// - For a single value, `$-zf-bp-value` is this value.
|
248
|
+
/// - For a breakpoint name, `$-zf-bp-value` is the corresponding breakpoint value in `$map`.
|
249
|
+
/// - For "auto", `$-zf-bp-value` is the corresponding breakpoint value in `$map` and is passed to `@content`, which is made responsive for each breakpoint of `$map`.
|
250
|
+
/// @param {Number|Keyword} $name [auto] - Single value or breakpoint name to use. "auto" by default.
|
251
|
+
/// @param {Number|Map} $map - Map of breakpoints and values or single value to use.
|
252
|
+
@mixin -zf-breakpoint-value(
|
253
|
+
$name: auto,
|
254
|
+
$map: null
|
255
|
+
) {
|
256
|
+
@if $name == auto and type-of($map) == 'map' {
|
257
|
+
// "auto"
|
258
|
+
@each $k, $v in $map {
|
259
|
+
@include breakpoint($k) {
|
260
|
+
@include -zf-breakpoint-value($v, $map) {
|
261
|
+
@content;
|
262
|
+
}
|
263
|
+
}
|
264
|
+
}
|
265
|
+
}
|
266
|
+
@else {
|
267
|
+
// breakpoint name
|
268
|
+
@if type-of($name) == 'string' {
|
269
|
+
$name: -zf-get-bp-val($map, $name);
|
270
|
+
}
|
271
|
+
|
272
|
+
// breakpoint value
|
273
|
+
$-zf-bp-value: $name !global;
|
274
|
+
@content;
|
275
|
+
}
|
276
|
+
}
|
@@ -9,7 +9,8 @@
|
|
9
9
|
/// Generates a selector with every text input type. You can also filter the list to only output a subset of those selectors.
|
10
10
|
///
|
11
11
|
/// @param {List|Keyword} $types [()] - A list of text input types to use. Leave blank to use all of them.
|
12
|
-
@
|
12
|
+
/// @param {Keyword} $modifier [''] - A modifier to be applied to each text input type (e.g. a class or a pseudo-class). Leave blank to ignore.
|
13
|
+
@function text-inputs($types: (), $modifier: '') {
|
13
14
|
$return: ();
|
14
15
|
|
15
16
|
$all-types:
|
@@ -33,7 +34,7 @@
|
|
33
34
|
}
|
34
35
|
|
35
36
|
@each $type in $types {
|
36
|
-
$return: append($return, unquote('[type=\'#{$type}\']'), comma);
|
37
|
+
$return: append($return, unquote('[type=\'#{$type}\']#{$modifier}'), comma);
|
37
38
|
}
|
38
39
|
|
39
40
|
@return $return;
|
@@ -8,8 +8,6 @@
|
|
8
8
|
|
9
9
|
$global-font-size: 100% !default;
|
10
10
|
|
11
|
-
// scss-lint:disable ZeroUnit
|
12
|
-
|
13
11
|
/// Removes the unit (e.g. px, em, rem) from a value, returning the number only.
|
14
12
|
///
|
15
13
|
/// @param {Number} $num - Number to strip unit from.
|
@@ -39,7 +37,7 @@ $global-font-size: 100% !default;
|
|
39
37
|
@if unit($base) == '%' {
|
40
38
|
$base: ($base / 100%) * 16px;
|
41
39
|
}
|
42
|
-
|
40
|
+
|
43
41
|
// Using rem as base allows correct scaling
|
44
42
|
@if unit($base) == 'rem' {
|
45
43
|
$base: strip-unit($base) * 16px;
|
@@ -81,7 +79,12 @@ $global-font-size: 100% !default;
|
|
81
79
|
@return $value;
|
82
80
|
}
|
83
81
|
|
84
|
-
//
|
82
|
+
// Transform em into rem if someone hands over 'em's
|
83
|
+
@if unit($value) == 'em' {
|
84
|
+
$value: strip-unit($value) * 1rem;
|
85
|
+
}
|
86
|
+
|
87
|
+
// Calculate rem if units for $value is not rem or em
|
85
88
|
@if unit($value) != 'rem' {
|
86
89
|
$value: strip-unit($value) / strip-unit($base) * 1rem;
|
87
90
|
}
|
@@ -93,3 +96,57 @@ $global-font-size: 100% !default;
|
|
93
96
|
|
94
97
|
@return $value;
|
95
98
|
}
|
99
|
+
|
100
|
+
/// Converts a pixel, percentage, rem or em value to a unitless value based on a given font size. Ideal for working out unitless line heights.
|
101
|
+
///
|
102
|
+
/// @param {Number} $value - Value to convert to a unitless line height
|
103
|
+
/// @param {Number} $base - The font size to use to work out the line height - defaults to $global-font-size
|
104
|
+
///
|
105
|
+
/// @return {Number} - Unitless number
|
106
|
+
@function unitless-calc($value, $base: null) {
|
107
|
+
|
108
|
+
// If no base is defined, defer to the global font size
|
109
|
+
@if $base == null {
|
110
|
+
$base: $global-font-size;
|
111
|
+
}
|
112
|
+
|
113
|
+
// First, lets convert our $base to pixels
|
114
|
+
|
115
|
+
// If the base font size is a %, then multiply it by 16px
|
116
|
+
@if unit($base) == '%' {
|
117
|
+
$base: ($base / 100%) * 16px;
|
118
|
+
}
|
119
|
+
|
120
|
+
@if unit($base) == 'rem' {
|
121
|
+
$base: strip-unit($base) * 16px;
|
122
|
+
}
|
123
|
+
|
124
|
+
@if unit($base) == 'em' {
|
125
|
+
$base: strip-unit($base) * 16px;
|
126
|
+
}
|
127
|
+
|
128
|
+
// Now lets convert our value to pixels too
|
129
|
+
@if unit($value) == '%' {
|
130
|
+
$value: ($value / 100%) * $base;
|
131
|
+
}
|
132
|
+
|
133
|
+
@if unit($value) == 'rem' {
|
134
|
+
$value: strip-unit($value) * $base;
|
135
|
+
}
|
136
|
+
|
137
|
+
@if unit($value) == 'em' {
|
138
|
+
$value: strip-unit($value) * $base;
|
139
|
+
}
|
140
|
+
|
141
|
+
// 'px'
|
142
|
+
@if unit($value) == 'px' {
|
143
|
+
@return strip-unit($value) / strip-unit($base);
|
144
|
+
}
|
145
|
+
|
146
|
+
// assume that line-heights greatern then 10 are meant to be absolute in 'px'
|
147
|
+
@if unitless($value) and ($value > 10) {
|
148
|
+
@return $value / strip-unit($base);
|
149
|
+
}
|
150
|
+
|
151
|
+
@return $value;
|
152
|
+
}
|
@@ -105,3 +105,36 @@
|
|
105
105
|
}
|
106
106
|
@return $map;
|
107
107
|
}
|
108
|
+
|
109
|
+
/// Casts a map into a list.
|
110
|
+
/// @link http://hugogiraudel.com/2014/04/28/casting-map-into-list/
|
111
|
+
///
|
112
|
+
/// @param {Map} $map - Map to pull a value from.
|
113
|
+
///
|
114
|
+
/// @returns {List} Depending on the flag, returns either $keys or $values or both.
|
115
|
+
@function map-to-list($map, $keep: 'both') {
|
116
|
+
$keep: if(index('keys' 'values', $keep), $keep, 'both');
|
117
|
+
|
118
|
+
@if type-of($map) == 'map' {
|
119
|
+
$keys: ();
|
120
|
+
$values: ();
|
121
|
+
|
122
|
+
@each $key, $val in $map {
|
123
|
+
$keys: append($keys, $key);
|
124
|
+
$values: append($values, $val);
|
125
|
+
}
|
126
|
+
|
127
|
+
@if $keep == 'keys' {
|
128
|
+
@return $keys;
|
129
|
+
}
|
130
|
+
@else if $keep == 'values' {
|
131
|
+
@return $values;
|
132
|
+
}
|
133
|
+
@else {
|
134
|
+
@return zip($keys, $values);
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
@return if(type-of($map) != 'list', ($value,), $map);
|
139
|
+
|
140
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foundation-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ZURB
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sass
|
@@ -160,6 +160,17 @@ files:
|
|
160
160
|
- spec/features/generator_spec.rb
|
161
161
|
- spec/spec_helper.rb
|
162
162
|
- spec/support/helpers.rb
|
163
|
+
- vendor/assets/_vendor/normalize-scss/sass/_normalize.scss
|
164
|
+
- vendor/assets/_vendor/normalize-scss/sass/normalize/_import-now.scss
|
165
|
+
- vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss
|
166
|
+
- vendor/assets/_vendor/normalize-scss/sass/normalize/_variables.scss
|
167
|
+
- vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss
|
168
|
+
- vendor/assets/_vendor/sassy-lists/stylesheets/functions/_purge.scss
|
169
|
+
- vendor/assets/_vendor/sassy-lists/stylesheets/functions/_remove.scss
|
170
|
+
- vendor/assets/_vendor/sassy-lists/stylesheets/functions/_replace.scss
|
171
|
+
- vendor/assets/_vendor/sassy-lists/stylesheets/functions/_to-list.scss
|
172
|
+
- vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss
|
173
|
+
- vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_true.scss
|
163
174
|
- vendor/assets/js/foundation.abide.js.es6
|
164
175
|
- vendor/assets/js/foundation.accordion.js.es6
|
165
176
|
- vendor/assets/js/foundation.accordionMenu.js.es6
|
@@ -189,6 +200,7 @@ files:
|
|
189
200
|
- vendor/assets/js/foundation.util.timerAndImageLoader.js.es6
|
190
201
|
- vendor/assets/js/foundation.util.touch.js.es6
|
191
202
|
- vendor/assets/js/foundation.util.triggers.js.es6
|
203
|
+
- vendor/assets/js/foundation.zf.responsiveAccordionTabs.js.es6
|
192
204
|
- vendor/assets/scss/_global.scss
|
193
205
|
- vendor/assets/scss/components/_accordion-menu.scss
|
194
206
|
- vendor/assets/scss/components/_accordion.scss
|
@@ -197,6 +209,7 @@ files:
|
|
197
209
|
- vendor/assets/scss/components/_button-group.scss
|
198
210
|
- vendor/assets/scss/components/_button.scss
|
199
211
|
- vendor/assets/scss/components/_callout.scss
|
212
|
+
- vendor/assets/scss/components/_card.scss
|
200
213
|
- vendor/assets/scss/components/_close-button.scss
|
201
214
|
- vendor/assets/scss/components/_drilldown.scss
|
202
215
|
- vendor/assets/scss/components/_dropdown-menu.scss
|
@@ -212,6 +225,7 @@ files:
|
|
212
225
|
- vendor/assets/scss/components/_orbit.scss
|
213
226
|
- vendor/assets/scss/components/_pagination.scss
|
214
227
|
- vendor/assets/scss/components/_progress-bar.scss
|
228
|
+
- vendor/assets/scss/components/_responsive-embed.scss
|
215
229
|
- vendor/assets/scss/components/_reveal.scss
|
216
230
|
- vendor/assets/scss/components/_slider.scss
|
217
231
|
- vendor/assets/scss/components/_sticky.scss
|
@@ -276,6 +290,7 @@ files:
|
|
276
290
|
- vendor/assets/scss/util/_breakpoint.scss
|
277
291
|
- vendor/assets/scss/util/_color.scss
|
278
292
|
- vendor/assets/scss/util/_flex.scss
|
293
|
+
- vendor/assets/scss/util/_math.scss
|
279
294
|
- vendor/assets/scss/util/_mixins.scss
|
280
295
|
- vendor/assets/scss/util/_selector.scss
|
281
296
|
- vendor/assets/scss/util/_unit.scss
|