foundation-rails 6.1.2.0 → 6.2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +7 -6
  3. data/README.md +1 -1
  4. data/Rakefile +5 -1
  5. data/bower.json +3 -3
  6. data/foundation-rails.gemspec +1 -0
  7. data/lib/foundation-rails.rb +1 -0
  8. data/lib/foundation/rails/version.rb +1 -1
  9. data/lib/generators/foundation/templates/foundation_and_overrides.scss +2 -2
  10. data/vendor/assets/js/foundation.abide.js.es6 +462 -0
  11. data/vendor/assets/js/{foundation.accordion.js → foundation.accordion.js.es6} +55 -47
  12. data/vendor/assets/js/{foundation.accordionMenu.js → foundation.accordionMenu.js.es6} +46 -35
  13. data/vendor/assets/js/{foundation.core.js → foundation.core.js.es6} +10 -8
  14. data/vendor/assets/js/{foundation.drilldown.js → foundation.drilldown.js.es6} +75 -49
  15. data/vendor/assets/js/{foundation.dropdown.js → foundation.dropdown.js.es6} +100 -88
  16. data/vendor/assets/js/{foundation.dropdownMenu.js → foundation.dropdownMenu.js.es6} +134 -128
  17. data/vendor/assets/js/{foundation.equalizer.js → foundation.equalizer.js.es6} +72 -61
  18. data/vendor/assets/js/{foundation.interchange.js → foundation.interchange.js.es6} +44 -45
  19. data/vendor/assets/js/{foundation.js → foundation.js.es6} +0 -0
  20. data/vendor/assets/js/{foundation.magellan.js → foundation.magellan.js.es6} +80 -83
  21. data/vendor/assets/js/foundation.offcanvas.js.es6 +395 -0
  22. data/vendor/assets/js/foundation.orbit.js.es6 +445 -0
  23. data/vendor/assets/js/{foundation.responsiveMenu.js → foundation.responsiveMenu.js.es6} +37 -31
  24. data/vendor/assets/js/foundation.responsiveToggle.js.es6 +112 -0
  25. data/vendor/assets/js/foundation.reveal.js.es6 +544 -0
  26. data/vendor/assets/js/{foundation.slider.js → foundation.slider.js.es6} +235 -184
  27. data/vendor/assets/js/{foundation.sticky.js → foundation.sticky.js.es6} +177 -166
  28. data/vendor/assets/js/{foundation.tabs.js → foundation.tabs.js.es6} +138 -118
  29. data/vendor/assets/js/{foundation.toggler.js → foundation.toggler.js.es6} +34 -37
  30. data/vendor/assets/js/{foundation.tooltip.js → foundation.tooltip.js.es6} +162 -153
  31. data/vendor/assets/js/foundation.util.box.js.es6 +183 -0
  32. data/vendor/assets/js/{foundation.util.keyboard.js → foundation.util.keyboard.js.es6} +54 -54
  33. data/vendor/assets/js/{foundation.util.mediaQuery.js → foundation.util.mediaQuery.js.es6} +46 -46
  34. data/vendor/assets/js/{foundation.util.motion.js → foundation.util.motion.js.es6} +58 -48
  35. data/vendor/assets/js/foundation.util.nest.js.es6 +76 -0
  36. data/vendor/assets/js/foundation.util.timerAndImageLoader.js.es6 +86 -0
  37. data/vendor/assets/js/{foundation.util.touch.js → foundation.util.touch.js.es6} +2 -2
  38. data/vendor/assets/js/foundation.util.triggers.js.es6 +239 -0
  39. data/vendor/assets/scss/_global.scss +28 -27
  40. data/vendor/assets/scss/components/_badge.scss +1 -1
  41. data/vendor/assets/scss/components/_button-group.scss +77 -26
  42. data/vendor/assets/scss/components/_button.scss +8 -8
  43. data/vendor/assets/scss/components/_callout.scss +2 -2
  44. data/vendor/assets/scss/components/_drilldown.scss +4 -0
  45. data/vendor/assets/scss/components/_dropdown-menu.scss +104 -54
  46. data/vendor/assets/scss/components/_flex.scss +28 -0
  47. data/vendor/assets/scss/components/_label.scss +1 -1
  48. data/vendor/assets/scss/components/_media-object.scss +37 -7
  49. data/vendor/assets/scss/components/_menu-icon.scss +9 -0
  50. data/vendor/assets/scss/components/_menu.scss +127 -29
  51. data/vendor/assets/scss/components/_off-canvas.scss +1 -0
  52. data/vendor/assets/scss/components/_pagination.scss +3 -3
  53. data/vendor/assets/scss/components/_progress-bar.scss +1 -25
  54. data/vendor/assets/scss/components/_reveal.scss +12 -6
  55. data/vendor/assets/scss/components/_slider.scss +3 -35
  56. data/vendor/assets/scss/components/_table.scss +8 -0
  57. data/vendor/assets/scss/components/_tabs.scss +5 -10
  58. data/vendor/assets/scss/components/_title-bar.scss +27 -10
  59. data/vendor/assets/scss/components/_tooltip.scss +0 -4
  60. data/vendor/assets/scss/components/_top-bar.scss +93 -21
  61. data/vendor/assets/scss/components/_visibility.scss +1 -1
  62. data/vendor/assets/scss/forms/_checkbox.scss +1 -1
  63. data/vendor/assets/scss/forms/_error.scss +7 -5
  64. data/vendor/assets/scss/forms/_forms.scss +3 -0
  65. data/vendor/assets/scss/forms/_help-text.scss +1 -1
  66. data/vendor/assets/scss/forms/_input-group.scss +44 -9
  67. data/vendor/assets/scss/forms/_meter.scss +109 -0
  68. data/vendor/assets/scss/forms/_progress.scss +85 -0
  69. data/vendor/assets/scss/forms/_range.scss +144 -0
  70. data/vendor/assets/scss/forms/_select.scss +1 -1
  71. data/vendor/assets/scss/forms/_text.scss +10 -1
  72. data/vendor/assets/scss/foundation.scss +16 -5
  73. data/vendor/assets/scss/grid/_classes.scss +5 -18
  74. data/vendor/assets/scss/grid/_column.scss +13 -11
  75. data/vendor/assets/scss/grid/_flex-grid.scss +54 -80
  76. data/vendor/assets/scss/grid/_grid.scss +22 -10
  77. data/vendor/assets/scss/grid/_layout.scss +18 -0
  78. data/vendor/assets/scss/grid/_row.scss +11 -15
  79. data/vendor/assets/scss/motion-ui/_classes.scss +10 -3
  80. data/vendor/assets/scss/motion-ui/effects/_fade.scss +4 -1
  81. data/vendor/assets/scss/motion-ui/effects/_zoom.scss +1 -1
  82. data/vendor/assets/scss/motion-ui/transitions/_slide.scss +1 -1
  83. data/vendor/assets/scss/motion-ui/util/_transition.scss +1 -1
  84. data/vendor/assets/scss/settings/_settings.scss +64 -47
  85. data/vendor/assets/scss/typography/_base.scss +4 -0
  86. data/vendor/assets/scss/typography/_print.scss +9 -5
  87. data/vendor/assets/scss/util/_breakpoint.scss +31 -25
  88. data/vendor/assets/scss/util/_color.scss +19 -0
  89. data/vendor/assets/scss/util/_flex.scss +68 -0
  90. data/vendor/assets/scss/util/_mixins.scss +13 -7
  91. data/vendor/assets/scss/util/_util.scss +1 -5
  92. data/vendor/assets/scss/util/_value.scss +9 -28
  93. metadata +51 -31
  94. data/vendor/assets/js/foundation.abide.js +0 -418
  95. data/vendor/assets/js/foundation.offcanvas.js +0 -376
  96. data/vendor/assets/js/foundation.orbit.js +0 -421
  97. data/vendor/assets/js/foundation.responsiveToggle.js +0 -106
  98. data/vendor/assets/js/foundation.reveal.js +0 -514
  99. data/vendor/assets/js/foundation.util.box.js +0 -169
  100. data/vendor/assets/js/foundation.util.nest.js +0 -63
  101. data/vendor/assets/js/foundation.util.timerAndImageLoader.js +0 -82
  102. data/vendor/assets/js/foundation.util.triggers.js +0 -224
@@ -0,0 +1,28 @@
1
+ @mixin foundation-flex-classes {
2
+ // Horizontal alignment using justify-content
3
+ @each $hdir, $prop in map-remove($-zf-flex-justify, left) {
4
+ .align-#{$hdir} {
5
+ @include flex-align($x: $hdir);
6
+ }
7
+ }
8
+
9
+ // Vertical alignment using align-items and align-self
10
+ @each $vdir, $prop in $-zf-flex-align {
11
+ .align-#{$vdir} {
12
+ @include flex-align($y: $vdir);
13
+ }
14
+
15
+ .align-self-#{$vdir} {
16
+ @include flex-align-self($y: $vdir);
17
+ }
18
+ }
19
+
20
+ // Source ordering
21
+ @include -zf-each-breakpoint {
22
+ @for $i from 1 through 6 {
23
+ .#{$-zf-size} {
24
+ @include flex-order($i);
25
+ }
26
+ }
27
+ }
28
+ }
@@ -44,7 +44,7 @@ $label-radius: $global-radius !default;
44
44
  background: $label-background;
45
45
  color: $label-color;
46
46
 
47
- @each $name, $color in $foundation-colors {
47
+ @each $name, $color in $foundation-palette {
48
48
  @if $name != primary {
49
49
  &.#{$name} {
50
50
  background: $color;
@@ -14,21 +14,30 @@ $mediaobject-margin-bottom: $global-margin !default;
14
14
  /// @type Number
15
15
  $mediaobject-section-padding: $global-padding !default;
16
16
 
17
- /// With of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width.
17
+ /// Width of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width.
18
18
  /// @type Number
19
19
  $mediaobject-image-width-stacked: 100% !default;
20
20
 
21
21
  /// Adds styles for a media object container.
22
22
  @mixin media-object-container {
23
23
  margin-bottom: $mediaobject-margin-bottom;
24
- display: block;
24
+ display: if($global-flexbox, flex, block);
25
+
26
+ @if $global-flexbox {
27
+ flex-wrap: nowrap;
28
+ }
25
29
  }
26
30
 
27
31
  /// Adds styles for sections within a media object.
28
32
  /// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections.
29
33
  @mixin media-object-section($padding: $mediaobject-section-padding) {
30
- display: table-cell;
31
- vertical-align: top;
34
+ @if $global-flexbox {
35
+ flex: 0 0 auto;
36
+ }
37
+ @else {
38
+ display: table-cell;
39
+ vertical-align: top;
40
+ }
32
41
 
33
42
  &:first-child {
34
43
  padding-#{$global-right}: $padding;
@@ -41,10 +50,17 @@ $mediaobject-image-width-stacked: 100% !default;
41
50
 
42
51
  /// Adds styles to stack sections of a media object. Apply this to the section elements, not the container.
43
52
  @mixin media-object-stack {
44
- display: block;
45
53
  padding: 0;
46
54
  padding-bottom: $mediaobject-section-padding;
47
55
 
56
+ @if $global-flexbox {
57
+ flex-basis: 100%;
58
+ max-width: 100%;
59
+ }
60
+ @else {
61
+ display: block;
62
+ }
63
+
48
64
  img {
49
65
  width: $mediaobject-image-width-stacked;
50
66
  }
@@ -58,6 +74,12 @@ $mediaobject-image-width-stacked: 100% !default;
58
74
  max-width: none;
59
75
  }
60
76
 
77
+ @if $global-flexbox {
78
+ &.stack-for-small {
79
+ flex-wrap: wrap;
80
+ }
81
+ }
82
+
61
83
  &.stack-for-small .media-object-section {
62
84
  @include breakpoint(small only) {
63
85
  @include media-object-stack;
@@ -68,7 +90,15 @@ $mediaobject-image-width-stacked: 100% !default;
68
90
  .media-object-section {
69
91
  @include media-object-section;
70
92
 
71
- &.middle { vertical-align: middle; }
72
- &.bottom { vertical-align: bottom; }
93
+ @if $global-flexbox {
94
+ // scss-lint:disable ZeroUnit
95
+ &.main-section {
96
+ flex: 1 1 0px;
97
+ }
98
+ }
99
+ @else {
100
+ &.middle { vertical-align: middle; }
101
+ &.bottom { vertical-align: bottom; }
102
+ }
73
103
  }
74
104
  }
@@ -0,0 +1,9 @@
1
+ @mixin foundation-menu-icon {
2
+ .menu-icon {
3
+ @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover);
4
+ }
5
+
6
+ .menu-icon.dark {
7
+ @include hamburger;
8
+ }
9
+ }
@@ -18,24 +18,41 @@ $menu-margin-nested: 1rem !default;
18
18
  /// @type Number
19
19
  $menu-item-padding: 0.7rem 1rem !default;
20
20
 
21
+ /// Text color of an active menu item.
22
+ /// @type Color
23
+ $menu-item-color-active: $white !default;
24
+
25
+ /// Background color of an active menu item.
26
+ /// @type Color
27
+ $menu-item-background-active: map-get($foundation-palette, primary) !default;
28
+
21
29
  /// Spacing between an icon and text in a menu item.
22
30
  /// @type Number
23
31
  $menu-icon-spacing: 0.25rem !default;
24
32
 
25
- /// Maximum number of `expand-n` classes to include in the CSS.
26
- /// @type Number
27
- $menu-expand-max: 6 !default;
28
-
29
33
  /// Creates the base styles for a Menu.
30
34
  @mixin menu-base {
31
35
  margin: $menu-margin;
32
36
  list-style-type: none;
33
37
 
38
+ @if $global-flexbox {
39
+ width: 100%;
40
+ display: flex;
41
+ flex-wrap: nowrap;
42
+ align-items: center;
43
+ }
44
+
34
45
  // List items are table cell to allow for vertical alignment
35
46
  > li {
36
47
  @include disable-mouse-outline;
37
- display: table-cell;
38
- vertical-align: middle;
48
+
49
+ @if $global-flexbox {
50
+ flex: 0 0 auto;
51
+ }
52
+ @else {
53
+ display: table-cell;
54
+ vertical-align: middle;
55
+ }
39
56
  }
40
57
 
41
58
  // Reset line height to make the height of the overall item easier to calculate
@@ -55,22 +72,54 @@ $menu-expand-max: 6 !default;
55
72
 
56
73
  /// Expands the items of a Menu, so each item is the same width.
57
74
  @mixin menu-expand {
58
- display: table;
59
- table-layout: fixed;
60
- width: 100%;
75
+ @if $global-flexbox {
76
+ // scss-lint:disable ZeroUnit
77
+ > li {
78
+ flex: 1 1 0px;
79
+ }
80
+ }
81
+ @else {
82
+ width: 100%;
83
+ display: table;
84
+ table-layout: fixed;
85
+ }
61
86
  }
62
87
 
63
88
  /// Sets the direction of a Menu.
64
89
  /// @param {Keyword} $dir [horizontal] - Direction of the Menu. Can be `horizontal` or `vertical`.
65
90
  @mixin menu-direction($dir: horizontal) {
66
91
  @if $dir == horizontal {
67
- > li {
68
- display: table-cell;
92
+ @if $global-flexbox {
93
+ flex-wrap: nowrap;
94
+
95
+ > li {
96
+ flex: 0 0 auto;
97
+ }
98
+ }
99
+ @else {
100
+ > li {
101
+ display: table-cell;
102
+ }
69
103
  }
70
104
  }
71
105
  @else if $dir == vertical {
72
- > li {
73
- display: block;
106
+ @if $global-flexbox {
107
+ flex-wrap: wrap;
108
+
109
+ > li {
110
+ flex: 0 0 100%;
111
+ max-width: 100%;
112
+ }
113
+
114
+ > li > a {
115
+ align-items: flex-start;
116
+ justify-content: flex-start;
117
+ }
118
+ }
119
+ @else {
120
+ > li {
121
+ display: block;
122
+ }
74
123
  }
75
124
  }
76
125
  @else {
@@ -102,35 +151,62 @@ $menu-expand-max: 6 !default;
102
151
  /// @param {Boolean} $base [true] - Set to `false` to prevent the shared CSS between side- and top-aligned icons from being printed. Set this to `false` if you're calling the mixin multiple times on the same element.
103
152
  @mixin menu-icons($position: side, $base: true) {
104
153
  @if $base {
105
- > li > a {
106
- > img,
107
- > i {
108
- vertical-align: middle;
154
+ @if $global-flexbox {
155
+ > li > a {
156
+ display: flex;
109
157
  }
158
+ }
159
+ @else {
160
+ > li > a {
161
+ img,
162
+ i {
163
+ vertical-align: middle;
164
+ }
110
165
 
111
- > span {
112
- vertical-align: middle;
166
+ i + span,
167
+ img + span {
168
+ vertical-align: middle;
169
+ }
113
170
  }
114
171
  }
115
172
  }
116
173
 
117
174
  @if $position == side {
118
175
  > li > a {
119
- > img,
120
- > i {
121
- display: inline-block;
176
+ @if $global-flexbox {
177
+ flex-flow: row nowrap;
178
+ }
179
+
180
+ img,
181
+ i {
122
182
  margin-#{$global-right}: $menu-icon-spacing;
183
+
184
+ @if not $global-flexbox {
185
+ display: inline-block;
186
+ }
123
187
  }
124
188
  }
125
189
  }
126
190
  @else if $position == top {
127
191
  > li > a {
128
- text-align: center;
192
+ @if $global-flexbox {
193
+ flex-flow: column nowrap;
194
+ }
195
+ @else {
196
+ text-align: center;
197
+ }
129
198
 
130
- > img,
131
- > i {
132
- display: block;
133
- margin: 0 auto $menu-icon-spacing;
199
+ img,
200
+ i {
201
+ @if not $global-flexbox {
202
+ display: block;
203
+ margin: 0 auto $menu-icon-spacing;
204
+ }
205
+ @else {
206
+ align-self: stretch;
207
+ text-align: center;
208
+ margin-bottom: $menu-icon-spacing;
209
+ }
134
210
  }
135
211
  }
136
212
  }
@@ -178,8 +254,15 @@ $menu-expand-max: 6 !default;
178
254
 
179
255
  // Align right
180
256
  &.align-#{$global-right} {
181
- > li {
182
- float: $global-right;
257
+ @if $global-flexbox {
258
+ justify-content: flex-end;
259
+ }
260
+ @else {
261
+ @include clearfix;
262
+
263
+ > li {
264
+ float: $global-right;
265
+ }
183
266
  }
184
267
  }
185
268
 
@@ -201,12 +284,27 @@ $menu-expand-max: 6 !default;
201
284
  &.nested {
202
285
  @include menu-nested;
203
286
  }
287
+
288
+ // Active state
289
+ .active > a {
290
+ color: $menu-item-color-active;
291
+ background: $menu-item-background-active;
292
+ }
204
293
  }
205
294
 
206
295
  .menu-text {
207
296
  @include menu-text;
208
297
  }
209
298
 
299
+ // Align center
300
+ .menu-centered {
301
+ text-align: center;
302
+
303
+ > .menu {
304
+ display: inline-block;
305
+ }
306
+ }
307
+
210
308
  // Prevent FOUC when using the Responsive Menu plugin
211
309
  .no-js [data-responsive-menu] ul {
212
310
  display: none;
@@ -71,6 +71,7 @@ $maincontent-shadow: 0 0 10px rgba($black, 0.5) !default;
71
71
  transition: transform $offcanvas-transition-length $offcanvas-transition-timing;
72
72
  backface-visibility: hidden;
73
73
  z-index: 1;
74
+ padding-bottom: 0.1px; // Prevents margin collapsing, which would reveal the box shadow of the wrapper
74
75
 
75
76
  @if has-value($maincontent-shadow) {
76
77
  box-shadow: $maincontent-shadow;
@@ -122,7 +122,7 @@ $pagination-arrows: true !default;
122
122
 
123
123
  /// Adds styles for an ellipsis for use in a pagination list.
124
124
  @mixin pagination-ellipsis {
125
- content: '';
125
+ content: '\2026';
126
126
  padding: $pagination-item-padding;
127
127
  color: $pagination-ellipsis-color;
128
128
  }
@@ -147,14 +147,14 @@ $pagination-arrows: true !default;
147
147
  @if $pagination-arrows {
148
148
  .pagination-previous a::before,
149
149
  .pagination-previous.disabled::before {
150
- content: '«';
150
+ content: '\00ab';
151
151
  display: inline-block;
152
152
  margin-#{$global-right}: 0.5rem;
153
153
  }
154
154
 
155
155
  .pagination-next a::after,
156
156
  .pagination-next.disabled::after {
157
- content: '»';
157
+ content: '\00bb';
158
158
  display: inline-block;
159
159
  margin-#{$global-left}: 0.5rem;
160
160
  }
@@ -2,30 +2,6 @@
2
2
  // foundation.zurb.com
3
3
  // Licensed under MIT Open Source
4
4
 
5
- ////
6
- /// @group progress-bar
7
- ////
8
-
9
- /// Height of a progress bar.
10
- /// @type Number
11
- $progress-height: 1rem !default;
12
-
13
- /// Background color of a progress bar.
14
- /// @type Color
15
- $progress-background: $medium-gray !default;
16
-
17
- /// Bottom margin of a progress bar.
18
- /// @type Number
19
- $progress-margin-bottom: $global-margin !default;
20
-
21
- /// Default color of a progress bar's meter.
22
- /// @type Color
23
- $progress-meter-background: $primary-color !default;
24
-
25
- /// Default radius of a progress bar.
26
- /// @type Number
27
- $progress-radius: $global-radius !default;
28
-
29
5
  /// Adds styles for a progress bar container.
30
6
  @mixin progress-container {
31
7
  background-color: $progress-background;
@@ -67,7 +43,7 @@ $progress-radius: $global-radius !default;
67
43
  .progress {
68
44
  @include progress-container;
69
45
 
70
- @each $name, $color in $foundation-colors {
46
+ @each $name, $color in $foundation-palette {
71
47
  &.#{$name} {
72
48
  .progress-meter {
73
49
  background-color: $color;
@@ -18,10 +18,6 @@ $reveal-width: 600px !default;
18
18
  /// @type Number
19
19
  $reveal-max-width: $global-width !default;
20
20
 
21
- /// Offset from the top of the window when a modal is added.
22
- /// @type Number
23
- $reveal-offset: rem-calc(100) !default;
24
-
25
21
  /// Default padding inside a modal.
26
22
  /// @type Number
27
23
  $reveal-padding: $global-padding !default;
@@ -63,7 +59,6 @@ $reveal-overlay-background: rgba($black, 0.45) !default;
63
59
  z-index: $reveal-zindex + 1;
64
60
  padding: $reveal-padding;
65
61
  border: $reveal-border;
66
- margin: $reveal-offset auto 0;
67
62
  background-color: $reveal-background;
68
63
  border-radius: $reveal-radius;
69
64
 
@@ -127,7 +122,10 @@ $reveal-overlay-background: rgba($black, 0.45) !default;
127
122
  .reveal {
128
123
  @include reveal-modal-base;
129
124
  @include reveal-modal-width($reveal-width);
130
- position: absolute;
125
+ position: relative;
126
+ top: 100px;
127
+ margin-left: auto;
128
+ margin-right: auto;
131
129
  overflow-y: auto;
132
130
 
133
131
  // Placeholder selector for medium-and-up modals
@@ -154,5 +152,13 @@ $reveal-overlay-background: rgba($black, 0.45) !default;
154
152
  &.full {
155
153
  @include reveal-modal-fullscreen;
156
154
  }
155
+
156
+ @include breakpoint(small only) {
157
+ @include reveal-modal-fullscreen;
158
+ }
159
+
160
+ &.without-overlay {
161
+ position: fixed;
162
+ }
157
163
  }
158
164
  }