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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/Rakefile +2 -0
  4. data/bower.json +2 -2
  5. data/lib/foundation/rails/version.rb +1 -1
  6. data/lib/generators/foundation/templates/_settings.scss +117 -70
  7. data/lib/generators/foundation/templates/foundation_and_overrides.scss +2 -1
  8. data/vendor/assets/_vendor/normalize-scss/sass/_normalize.scss +3 -0
  9. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_import-now.scss +11 -0
  10. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_normalize-mixin.scss +676 -0
  11. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_variables.scss +36 -0
  12. data/vendor/assets/_vendor/normalize-scss/sass/normalize/_vertical-rhythm.scss +61 -0
  13. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_purge.scss +38 -0
  14. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_remove.scss +31 -0
  15. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_replace.scss +46 -0
  16. data/vendor/assets/_vendor/sassy-lists/stylesheets/functions/_to-list.scss +27 -0
  17. data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss +25 -0
  18. data/vendor/assets/_vendor/sassy-lists/stylesheets/helpers/_true.scss +13 -0
  19. data/vendor/assets/js/foundation.abide.js.es6 +28 -0
  20. data/vendor/assets/js/foundation.accordion.js.es6 +1 -1
  21. data/vendor/assets/js/foundation.accordionMenu.js.es6 +9 -1
  22. data/vendor/assets/js/foundation.core.js.es6 +4 -4
  23. data/vendor/assets/js/foundation.drilldown.js.es6 +128 -14
  24. data/vendor/assets/js/foundation.dropdown.js.es6 +48 -42
  25. data/vendor/assets/js/foundation.dropdownMenu.js.es6 +20 -18
  26. data/vendor/assets/js/foundation.equalizer.js.es6 +12 -6
  27. data/vendor/assets/js/foundation.interchange.js.es6 +3 -2
  28. data/vendor/assets/js/foundation.js.es6 +2 -1
  29. data/vendor/assets/js/foundation.magellan.js.es6 +28 -9
  30. data/vendor/assets/js/foundation.offcanvas.js.es6 +90 -123
  31. data/vendor/assets/js/foundation.orbit.js.es6 +61 -10
  32. data/vendor/assets/js/foundation.responsiveMenu.js.es6 +2 -0
  33. data/vendor/assets/js/foundation.responsiveToggle.js.es6 +52 -12
  34. data/vendor/assets/js/foundation.reveal.js.es6 +48 -48
  35. data/vendor/assets/js/foundation.slider.js.es6 +124 -42
  36. data/vendor/assets/js/foundation.sticky.js.es6 +11 -9
  37. data/vendor/assets/js/foundation.tabs.js.es6 +164 -35
  38. data/vendor/assets/js/foundation.toggler.js.es6 +3 -0
  39. data/vendor/assets/js/foundation.tooltip.js.es6 +20 -10
  40. data/vendor/assets/js/foundation.util.box.js.es6 +2 -2
  41. data/vendor/assets/js/foundation.util.keyboard.js.es6 +37 -0
  42. data/vendor/assets/js/foundation.util.mediaQuery.js.es6 +16 -0
  43. data/vendor/assets/js/foundation.util.motion.js.es6 +7 -1
  44. data/vendor/assets/js/foundation.util.nest.js.es6 +10 -5
  45. data/vendor/assets/js/foundation.util.timerAndImageLoader.js.es6 +6 -4
  46. data/vendor/assets/js/foundation.util.triggers.js.es6 +54 -36
  47. data/vendor/assets/js/foundation.zf.responsiveAccordionTabs.js.es6 +240 -0
  48. data/vendor/assets/scss/_global.scss +25 -450
  49. data/vendor/assets/scss/components/_accordion-menu.scss +8 -4
  50. data/vendor/assets/scss/components/_accordion.scss +43 -22
  51. data/vendor/assets/scss/components/_badge.scss +17 -9
  52. data/vendor/assets/scss/components/_breadcrumbs.scss +7 -5
  53. data/vendor/assets/scss/components/_button-group.scss +54 -6
  54. data/vendor/assets/scss/components/_button.scss +27 -16
  55. data/vendor/assets/scss/components/_callout.scss +3 -2
  56. data/vendor/assets/scss/components/_card.scss +121 -0
  57. data/vendor/assets/scss/components/_close-button.scss +54 -13
  58. data/vendor/assets/scss/components/_drilldown.scss +19 -5
  59. data/vendor/assets/scss/components/_dropdown-menu.scss +23 -18
  60. data/vendor/assets/scss/components/_dropdown.scss +14 -7
  61. data/vendor/assets/scss/components/_flex-video.scss +1 -63
  62. data/vendor/assets/scss/components/_float.scss +1 -1
  63. data/vendor/assets/scss/components/_label.scss +16 -8
  64. data/vendor/assets/scss/components/_media-object.scss +2 -3
  65. data/vendor/assets/scss/components/_menu.scss +68 -33
  66. data/vendor/assets/scss/components/_off-canvas.scss +231 -80
  67. data/vendor/assets/scss/components/_orbit.scss +8 -6
  68. data/vendor/assets/scss/components/_pagination.scss +42 -22
  69. data/vendor/assets/scss/components/_progress-bar.scss +1 -1
  70. data/vendor/assets/scss/components/_responsive-embed.scss +66 -0
  71. data/vendor/assets/scss/components/_reveal.scss +17 -11
  72. data/vendor/assets/scss/components/_slider.scss +6 -1
  73. data/vendor/assets/scss/components/_sticky.scss +3 -3
  74. data/vendor/assets/scss/components/_switch.scss +47 -36
  75. data/vendor/assets/scss/components/_table.scss +83 -23
  76. data/vendor/assets/scss/components/_tabs.scss +54 -23
  77. data/vendor/assets/scss/components/_thumbnail.scss +17 -4
  78. data/vendor/assets/scss/components/_title-bar.scss +5 -6
  79. data/vendor/assets/scss/components/_tooltip.scss +15 -12
  80. data/vendor/assets/scss/components/_top-bar.scss +11 -8
  81. data/vendor/assets/scss/forms/_checkbox.scss +2 -1
  82. data/vendor/assets/scss/forms/_error.scss +10 -6
  83. data/vendor/assets/scss/forms/_fieldset.scss +7 -7
  84. data/vendor/assets/scss/forms/_input-group.scss +17 -11
  85. data/vendor/assets/scss/forms/_label.scss +2 -0
  86. data/vendor/assets/scss/forms/_meter.scss +9 -10
  87. data/vendor/assets/scss/forms/_progress.scss +9 -9
  88. data/vendor/assets/scss/forms/_range.scss +20 -15
  89. data/vendor/assets/scss/forms/_select.scss +26 -8
  90. data/vendor/assets/scss/forms/_text.scss +19 -16
  91. data/vendor/assets/scss/foundation.scss +19 -3
  92. data/vendor/assets/scss/grid/_classes.scss +31 -14
  93. data/vendor/assets/scss/grid/_column.scss +10 -24
  94. data/vendor/assets/scss/grid/_flex-grid.scss +84 -76
  95. data/vendor/assets/scss/grid/_grid.scss +0 -16
  96. data/vendor/assets/scss/grid/_gutter.scss +53 -5
  97. data/vendor/assets/scss/grid/_layout.scss +3 -3
  98. data/vendor/assets/scss/grid/_position.scss +3 -3
  99. data/vendor/assets/scss/grid/_row.scss +24 -19
  100. data/vendor/assets/scss/settings/_settings.scss +117 -70
  101. data/vendor/assets/scss/typography/_base.scss +110 -44
  102. data/vendor/assets/scss/typography/_helpers.scss +1 -0
  103. data/vendor/assets/scss/typography/_print.scss +7 -3
  104. data/vendor/assets/scss/typography/_typography.scss +0 -2
  105. data/vendor/assets/scss/util/_breakpoint.scss +28 -19
  106. data/vendor/assets/scss/util/_color.scss +69 -16
  107. data/vendor/assets/scss/util/_flex.scss +20 -3
  108. data/vendor/assets/scss/util/_math.scss +72 -0
  109. data/vendor/assets/scss/util/_mixins.scss +63 -26
  110. data/vendor/assets/scss/util/_selector.scss +3 -2
  111. data/vendor/assets/scss/util/_unit.scss +61 -4
  112. data/vendor/assets/scss/util/_util.scss +1 -0
  113. data/vendor/assets/scss/util/_value.scss +33 -0
  114. 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
- @for $i from 2 through $bars {
94
- $offset: ($weight + $spacing) * ($i - 1);
95
- $shadow: append($shadow, 0 $offset 0 $color, comma);
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
- $map: $breakpoint-classes;
231
+ $list: $breakpoint-classes;
227
232
 
228
233
  @if not $small {
229
- $map: map-remove($map, $-zf-zero-breakpoint);
234
+ $list: sl-remove($list, $-zf-zero-breakpoint);
230
235
  }
231
236
 
232
- @each $size in $map {
233
- $-zf-size: $size !global;
237
+ @each $name in $list {
238
+ $-zf-size: $name !global;
234
239
 
235
- @include breakpoint($size) {
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
- @function text-inputs($types: ()) {
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
- // Calculate rem if units for $value is not rem
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
+ }
@@ -2,6 +2,7 @@
2
2
  // foundation.zurb.com
3
3
  // Licensed under MIT Open Source
4
4
 
5
+ @import 'math';
5
6
  @import 'unit';
6
7
  @import 'value';
7
8
  @import 'color';
@@ -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.2.4.0
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-10-21 00:00:00.000000000 Z
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