zurb-foundation 4.0.3 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. data/CHANGELOG.md +11 -0
  2. data/Gemfile.lock +1 -1
  3. data/README.md +5 -0
  4. data/docs/Gemfile +2 -1
  5. data/docs/Gemfile.lock +1 -1
  6. data/docs/_sidebar-components.html.erb +40 -40
  7. data/docs/_sidebar.html.erb +9 -9
  8. data/docs/changelog.html.erb +30 -6
  9. data/docs/components/alert-boxes.html.erb +1 -1
  10. data/docs/components/block-grid.html.erb +10 -10
  11. data/docs/components/breadcrumbs.html.erb +1 -1
  12. data/docs/components/button-groups.html.erb +57 -3
  13. data/docs/components/buttons.html.erb +1 -1
  14. data/docs/components/clearing.html.erb +12 -14
  15. data/docs/components/custom-forms.html.erb +3 -3
  16. data/docs/components/dropdown-buttons.html.erb +1 -1
  17. data/docs/components/dropdown.html.erb +2 -2
  18. data/docs/components/flex-video.html.erb +1 -1
  19. data/docs/components/forms.html.erb +4 -3
  20. data/docs/components/grid.html.erb +2 -2
  21. data/docs/components/inline-lists.html.erb +1 -1
  22. data/docs/components/keystrokes.html.erb +1 -1
  23. data/docs/components/labels.html.erb +1 -1
  24. data/docs/components/orbit.html.erb +11 -11
  25. data/docs/components/pagination.html.erb +1 -1
  26. data/docs/components/panels.html.erb +1 -1
  27. data/docs/components/pricing-tables.html.erb +1 -1
  28. data/docs/components/progress-bars.html.erb +1 -1
  29. data/docs/components/reveal.html.erb +8 -0
  30. data/docs/components/section.html.erb +29 -3
  31. data/docs/components/side-nav.html.erb +1 -1
  32. data/docs/components/split-buttons.html.erb +1 -1
  33. data/docs/components/sub-nav.html.erb +1 -1
  34. data/docs/components/switch.html.erb +1 -1
  35. data/docs/components/thumbnails.html.erb +5 -5
  36. data/docs/components/top-bar.html.erb +65 -2
  37. data/docs/components/type.html.erb +1 -1
  38. data/docs/css/docs.scss +2 -0
  39. data/docs/faq.html.erb +2 -0
  40. data/docs/img/demos/demo1-th.jpg +0 -0
  41. data/docs/img/demos/demo1.jpg +0 -0
  42. data/docs/img/demos/demo2-th.jpg +0 -0
  43. data/docs/img/demos/demo2.jpg +0 -0
  44. data/docs/img/demos/demo3-th.jpg +0 -0
  45. data/docs/img/demos/demo3.jpg +0 -0
  46. data/docs/img/demos/demo4-th.jpg +0 -0
  47. data/docs/img/demos/demo4.jpg +0 -0
  48. data/docs/img/demos/demo5-th.jpg +0 -0
  49. data/docs/img/demos/demo5.jpg +0 -0
  50. data/docs/index.html.erb +1 -1
  51. data/docs/javascript.html.erb +2 -2
  52. data/docs/layout.html.erb +18 -2
  53. data/docs/rails.html.erb +10 -2
  54. data/docs/sass.html.erb +49 -19
  55. data/docs/support.html.erb +1 -1
  56. data/js/foundation/foundation.forms.js +1 -1
  57. data/js/foundation/foundation.js +1 -1
  58. data/js/foundation/foundation.reveal.js +9 -3
  59. data/js/foundation/foundation.topbar.js +7 -5
  60. data/lib/foundation/engine.rb +12 -4
  61. data/lib/foundation/version.rb +1 -1
  62. data/scss/foundation.scss +1 -2
  63. data/scss/foundation/_foundation-global.scss +25 -74
  64. data/scss/foundation/components/_block-grid.scss +2 -2
  65. data/scss/foundation/components/_button-groups.scss +17 -2
  66. data/scss/foundation/components/_buttons.scss +2 -2
  67. data/scss/foundation/components/_custom-forms.scss +10 -7
  68. data/scss/foundation/components/_forms.scss +28 -0
  69. data/scss/foundation/components/_global.scss +62 -0
  70. data/scss/foundation/components/_orbit.scss +1 -1
  71. data/scss/foundation/components/_section.scss +4 -4
  72. data/scss/foundation/components/_switch.scss +17 -9
  73. data/scss/foundation/components/_tooltips.scss +1 -2
  74. data/scss/foundation/components/_top-bar.scss +11 -2
  75. data/scss/foundation/components/_type.scss +3 -2
  76. data/scss/foundation/components/_visibility.scss +2 -2
  77. data/templates/project/config.rb +4 -4
  78. data/templates/project/index.html +9 -9
  79. data/templates/project/manifest.rb +8 -8
  80. data/templates/project/scss/_settings.scss +11 -10
  81. data/templates/project/scss/app.scss +1 -0
  82. metadata +15 -14
  83. data/docs/img/demos/demo1-th.png +0 -0
  84. data/docs/img/demos/demo1.png +0 -0
  85. data/docs/img/demos/demo2-th.png +0 -0
  86. data/docs/img/demos/demo2.png +0 -0
  87. data/docs/img/demos/demo3-th.png +0 -0
  88. data/docs/img/demos/demo3.png +0 -0
  89. data/docs/img/demos/demo4-th.png +0 -0
  90. data/docs/img/demos/demo4.png +0 -0
  91. data/docs/img/demos/demo5-th.png +0 -0
  92. data/docs/img/demos/demo5.png +0 -0
@@ -1,3 +1,3 @@
1
1
  module Foundation
2
- VERSION = "4.0.3"
2
+ VERSION = "4.0.4"
3
3
  end
data/scss/foundation.scss CHANGED
@@ -2,12 +2,11 @@
2
2
  @charset "UTF-8";
3
3
 
4
4
  // This includes all of the foundation global elements that are needed to work with any of the other files.
5
- //
6
- // RENAME THIS TO _foundation-global.scss ONCE ALL THE OLD VARIABLES ARE OUT OF THE FILE.
7
5
  @import "foundation/foundation-global";
8
6
 
9
7
  // Foundation Components
10
8
  @import
9
+ "foundation/components/global",
11
10
  "foundation/components/grid",
12
11
  "foundation/components/visibility",
13
12
  "foundation/components/block-grid",
@@ -84,20 +84,36 @@ $include-print-styles: true !default;
84
84
  // We use this to create equal side border radius on elements.
85
85
  @mixin side-radius($side, $radius) {
86
86
  @if $side == left {
87
- -webkit-border-radius: $radius 0 0 $radius;
88
- border-radius: $radius 0 0 $radius;
87
+ -moz-border-radius-bottomleft: $radius;
88
+ -moz-border-radius-topleft: $radius;
89
+ -webkit-border-bottom-left-radius: $radius;
90
+ -webkit-border-top-left-radius: $radius;
91
+ border-bottom-left-radius: $radius;
92
+ border-top-left-radius: $radius;
89
93
  }
90
94
  @else if $side == right {
91
- -webkit-border-radius: 0 $radius $radius 0;
92
- border-radius: 0 $radius $radius 0;
95
+ -moz-border-radius-topright: $radius;
96
+ -moz-border-radius-bottomright: $radius;
97
+ -webkit-border-top-right-radius: $radius;
98
+ -webkit-border-bottom-right-radius: $radius;
99
+ border-top-right-radius: $radius;
100
+ border-bottom-right-radius: $radius;
93
101
  }
94
102
  @else if $side == top {
95
- -webkit-border-radius: $radius $radius 0 0;
96
- border-radius: $radius $radius 0 0;
103
+ -moz-border-radius-topright: $radius;
104
+ -moz-border-radius-topleft: $radius;
105
+ -webkit-border-top-right-radius: $radius;
106
+ -webkit-border-top-left-radius: $radius;
107
+ border-top-right-radius: $radius;
108
+ border-top-left-radius: $radius;
97
109
  }
98
110
  @else if $side == bottom {
99
- -webkit-border-radius: 0 0 $radius $radius;
100
- border-radius: 0 0 $radius $radius;
111
+ -moz-border-radius-bottomright: $radius;
112
+ -moz-border-radius-bottomleft: $radius;
113
+ -webkit-border-bottom-right-radius: $radius;
114
+ -webkit-border-bottom-left-radius: $radius;
115
+ border-bottom-right-radius: $radius;
116
+ border-bottom-left-radius: $radius;
101
117
  }
102
118
  }
103
119
 
@@ -153,71 +169,6 @@ $include-print-styles: true !default;
153
169
  &:after { clear: both; }
154
170
  }
155
171
 
156
-
157
- // Set box-sizing globally to handle padding and border widths
158
- *,
159
- *:before,
160
- *:after {
161
- @include box-sizing(border-box);
162
- }
163
-
164
- html,
165
- body { font-size: $em-base; }
166
-
167
- // Default body styles
168
- body {
169
- background: $body-bg;
170
- color: $body-font-color;
171
- padding: 0;
172
- margin: 0;
173
- font-family: $body-font-family;
174
- font-weight: $body-font-weight;
175
- font-style: $body-font-style;
176
- line-height: 1;
177
- position: relative;
178
- -webkit-font-smoothing: $font-smoothing;
179
- }
180
-
181
- // Grid Defaults to get images and embeds to work properly
182
- img,
183
- object,
184
- embed { max-width: 100%; height: auto; }
185
-
186
- object,
187
- embed { height: 100%; }
188
- img { -ms-interpolation-mode: bicubic; }
189
-
190
- #map_canvas,
191
- .map_canvas {
192
- img,
193
- embed,
194
- object { max-width: none !important;
195
- }
196
- }
197
-
198
- // Miscellaneous useful HTML classes
199
- .left { float: left; }
200
- .right { float: right; }
201
- .text-left { text-align: left; }
202
- .text-right { text-align: right; }
203
- .text-center { text-align: center; }
204
- .text-justify { text-align: justify; }
205
- .hide { display: none; }
206
-
207
- // Get rid of gap under images by making them display: block; by default
208
- img { display: block; }
209
-
210
- //
211
- // Global resets for forms
212
- //
213
-
214
- // Make sure textarea takes on height automatically
215
- textarea { height: auto; min-height: 50px; }
216
-
217
- // Make select elements 100% width by default
218
- select { width: 100%; }
219
-
220
-
221
172
  // Media Queries
222
173
  $small-screen: emCalc(768px) !default;
223
174
  $medium-screen: emCalc(1280px) !default;
@@ -225,4 +176,4 @@ $large-screen: emCalc(1440px) !default;
225
176
 
226
177
  $small: "only screen and (min-width:"#{$small-screen}")" !default;
227
178
  $medium: "only screen and (min-width:"#{$medium-screen}")" !default;
228
- $large: "only screen and (min-width:"#{$large-screen}")" !default;
179
+ $large: "only screen and (min-width:"#{$large-screen}")" !default;
@@ -46,7 +46,7 @@ $block-grid-media-queries: true !default;
46
46
  @media only screen {
47
47
  [class*="block-grid-"] { @include block-grid; }
48
48
 
49
- @for $i from 2 through $block-grid-elements {
49
+ @for $i from 1 through $block-grid-elements {
50
50
  .small-block-grid-#{($i)} {
51
51
  @include block-grid($i,$block-grid-default-spacing,false);
52
52
  }
@@ -55,7 +55,7 @@ $block-grid-media-queries: true !default;
55
55
 
56
56
  /* Foundation Block Grids for above small breakpoint */
57
57
  @media #{$small} {
58
- @for $i from 2 through $block-grid-elements {
58
+ @for $i from 1 through $block-grid-elements {
59
59
  .large-block-grid-#{($i)} {
60
60
  @if $i == 2 { @include block-grid(2,15px,false); }
61
61
  @else if $i == 3 { @include block-grid(3,12px,false); }
@@ -1,14 +1,24 @@
1
+ //
2
+ // Button Group Variables
3
+ //
4
+ $button-bar-margin-right: emCalc(10px) !default;
5
+
1
6
  //
2
7
  // Button Group Mixins
3
8
  //
4
9
 
5
10
  // We use this to add styles for a button group container
6
- @mixin button-group-container($styles:true) {
11
+ @mixin button-group-container($styles:true, $float:false) {
7
12
  @if $styles {
8
13
  list-style: none;
9
- margin: 0 0 $button-margin-bottom;
14
+ margin: 0;
10
15
  @include clearfix();
11
16
  }
17
+ @if $float {
18
+ float: #{$default-float};
19
+ margin-#{$default-opposite}: $button-bar-margin-right;
20
+ & div { overflow: hidden; }
21
+ }
12
22
  }
13
23
 
14
24
  // We use this to control styles for button groups
@@ -56,4 +66,9 @@
56
66
  }
57
67
  }
58
68
 
69
+ .button-bar {
70
+ @include clearfix;
71
+ .button-group { @include button-group-container($styles:false,$float:true); }
72
+ }
73
+
59
74
  }
@@ -157,7 +157,7 @@ $button-disabled-opacity: 0.6 !default;
157
157
 
158
158
  // Default styles applied outside of media query
159
159
  .button {
160
- @include button-base($display:block);
160
+ @include button-base;
161
161
  @include button-size;
162
162
  @include button-style;
163
163
 
@@ -168,7 +168,7 @@ $button-disabled-opacity: 0.6 !default;
168
168
  &.large { @include button-size($padding:$button-lrg); }
169
169
  &.small { @include button-size($padding:$button-sml); }
170
170
  &.tiny { @include button-size($padding:$button-tny); }
171
- &.expand { @include button-size($padding:false, $full-width:true); }
171
+ &.expand { @include button-size($full-width:true); }
172
172
 
173
173
  &.left-align { text-align: left; text-indent: emCalc(12px); }
174
174
  &.right-align { text-align: right; padding-right: emCalc(12px); }
@@ -30,11 +30,14 @@ $custom-dropdown-font-size: emCalc(14px) !default;
30
30
  $custom-dropdown-color-selected: #eeeeee !default;
31
31
  $custom-dropdown-font-color-selected: #000 !default;
32
32
  $custom-dropdown-shadow: 0 2px 2px 0px rgba(0,0,0,0.1) !default;
33
- $custom-dropdown-offset-top: none !default;
33
+ $custom-dropdown-offset-top: auto !default;
34
34
  $custom-dropdown-list-padding: emCalc(4px) !default;
35
35
  $custom-dropdown-left-padding: emCalc(6px) !default;
36
36
  $custom-dropdown-right-padding: emCalc(38px) !default;
37
37
  $custom-dropdown-list-item-min-height: emCalc(24px) !default;
38
+ $custom-dropdown-width-small: 134px !default;
39
+ $custom-dropdown-width-medium: 254px !default;
40
+ $custom-dropdown-width-large: 434px !default;
38
41
 
39
42
  // We decided not to make a mixin for the custom forms because
40
43
  // they rely on a very specific class naming structure.
@@ -171,14 +174,14 @@ form.custom {
171
174
  @include box-sizing(content-box);
172
175
  }
173
176
 
174
- &.small { max-width: 134px !important; }
175
- &.medium { max-width: 254px !important; }
176
- &.large { max-width: 434px !important; }
177
+ &.small { max-width: $custom-dropdown-width-small; }
178
+ &.medium { max-width: $custom-dropdown-width-medium; }
179
+ &.large { max-width: $custom-dropdown-width-large; }
177
180
  &.expand { width: 100% !important; }
178
181
 
179
- &.open.small ul { max-width: 134px !important; @include box-sizing(border-box); }
180
- &.open.medium ul { max-width: 254px !important; @include box-sizing(border-box); }
181
- &.open.large ul { max-width: 634px !important; @include box-sizing(border-box); }
182
+ &.open.small ul { min-width: $custom-dropdown-width-small; @include box-sizing(border-box); }
183
+ &.open.medium ul { min-width: $custom-dropdown-width-medium; @include box-sizing(border-box); }
184
+ &.open.large ul { min-width: $custom-dropdown-width-large; @include box-sizing(border-box); }
182
185
  }
183
186
 
184
187
  .custom.dropdown ul {
@@ -160,6 +160,8 @@ $input-error-message-font-color-alt: #333 !default;
160
160
  @if $is-button {
161
161
  padding-#{$default-float}: 0;
162
162
  padding-#{$default-opposite}: 0;
163
+ padding-top: 0;
164
+ padding-bottom: 0;
163
165
  text-align: center;
164
166
  line-height: emCalc(34px);
165
167
  }
@@ -183,6 +185,8 @@ $input-error-message-font-color-alt: #333 !default;
183
185
  @if $is-button {
184
186
  padding-#{$default-float}: 0;
185
187
  padding-#{$default-opposite}: 0;
188
+ padding-top: 0;
189
+ padding-bottom: 0;
186
190
  text-align: center;
187
191
  line-height: emCalc(34px);
188
192
  }
@@ -259,6 +263,10 @@ label { @include form-label;
259
263
  .prefix.button { @include button-size(false,false,false); @include prefix(false,true); }
260
264
  .prefix.button.radius { @include side-radius(left, $global-radius); }
261
265
  .postfix.button.radius { @include side-radius(right, $global-radius); }
266
+ .prefix.button.round { @include side-radius(left, 1000px); }
267
+ .postfix.button.round { @include side-radius(right, 1000px); }
268
+ .prefix.button.round { @include side-radius(left, 1000px); }
269
+ .postfix.button.round { @include side-radius(right, 1000px); }
262
270
 
263
271
  /* Separate prefix and postfix styles when on span so buttons keep their own */
264
272
  span.prefix { @include prefix();
@@ -268,6 +276,26 @@ span.postfix { @include postfix();
268
276
  &.radius { @include side-radius(right, $global-radius); }
269
277
  }
270
278
 
279
+ /* Input groups will automatically style first and last elements of the group */
280
+ .input-group {
281
+ &.radius {
282
+ &>*:first-child, &>*:first-child * {
283
+ @include side-radius(left, $global-radius);
284
+ }
285
+ &>*:last-child, &>*:last-child * {
286
+ @include side-radius(right, $global-radius);
287
+ }
288
+ }
289
+ &.round {
290
+ &>*:first-child, &>*:first-child * {
291
+ @include side-radius(left, 1000px);
292
+ }
293
+ &>*:last-child, &>*:last-child * {
294
+ @include side-radius(right, 1000px);
295
+ }
296
+ }
297
+ }
298
+
271
299
  /* We use this to get basic styling on all basic form elements */
272
300
  input[type="text"],
273
301
  input[type="password"],
@@ -0,0 +1,62 @@
1
+ // Set box-sizing globally to handle padding and border widths
2
+ *,
3
+ *:before,
4
+ *:after {
5
+ @include box-sizing(border-box);
6
+ }
7
+
8
+ html,
9
+ body { font-size: $em-base; }
10
+
11
+ // Default body styles
12
+ body {
13
+ background: $body-bg;
14
+ color: $body-font-color;
15
+ padding: 0;
16
+ margin: 0;
17
+ font-family: $body-font-family;
18
+ font-weight: $body-font-weight;
19
+ font-style: $body-font-style;
20
+ line-height: 1;
21
+ position: relative;
22
+ -webkit-font-smoothing: $font-smoothing;
23
+ }
24
+
25
+ // Grid Defaults to get images and embeds to work properly
26
+ img,
27
+ object,
28
+ embed { max-width: 100%; height: auto; }
29
+
30
+ object,
31
+ embed { height: 100%; }
32
+ img { -ms-interpolation-mode: bicubic; }
33
+
34
+ #map_canvas,
35
+ .map_canvas {
36
+ img,
37
+ embed,
38
+ object { max-width: none !important;
39
+ }
40
+ }
41
+
42
+ // Miscellaneous useful HTML classes
43
+ .left { float: left; }
44
+ .right { float: right; }
45
+ .text-left { text-align: left; }
46
+ .text-right { text-align: right; }
47
+ .text-center { text-align: center; }
48
+ .text-justify { text-align: justify; }
49
+ .hide { display: none; }
50
+
51
+ // Get rid of gap under images by making them display: block; by default
52
+ img { display: block; }
53
+
54
+ //
55
+ // Global resets for forms
56
+ //
57
+
58
+ // Make sure textarea takes on height automatically
59
+ textarea { height: auto; min-height: 50px; }
60
+
61
+ // Make select elements 100% width by default
62
+ select { width: 100%; }
@@ -53,7 +53,7 @@ $orbit-slide-number-padding: emCalc(5px) !default;
53
53
  padding: 10px 14px;
54
54
  font-size: emCalc(14px);
55
55
 
56
- * { color: #fff; }
56
+ * { color: $orbit-caption-font-color; }
57
57
  }
58
58
  }
59
59
  }
@@ -64,9 +64,6 @@ $section-bottom-margin: emCalc(20px) !default;
64
64
  border-top: $section-border-size $section-border-style $section-border-color;
65
65
  position: relative;
66
66
 
67
- *>:first-child { padding-top: 0; }
68
- *>:last-child { padding-bottom: 0; }
69
-
70
67
  .title {
71
68
  top: 0;
72
69
  cursor: pointer;
@@ -90,9 +87,12 @@ $section-bottom-margin: emCalc(20px) !default;
90
87
  padding: $section-padding;
91
88
  background-color: $section-content-bg;
92
89
 
93
- *:last-child { margin-bottom: 0; }
90
+ &>*:last-child { margin-bottom: 0; }
91
+ &>*:first-child { padding-top: 0; }
92
+ &>*:last-child { padding-bottom: 0; }
94
93
  }
95
94
 
95
+
96
96
  &.active {
97
97
  .content { display: block; }
98
98
  .title { background: $section-title-bg-active; }
@@ -102,19 +102,27 @@ $switch-label-outline: 1px dotted #888 !default;
102
102
  @include single-transition(all, $transition-speed, $transition-ease);
103
103
  }
104
104
 
105
- // Change text alignment for the second label
106
- input:last-of-type + label { text-align: right; }
107
-
108
105
  // When a label isn't :checked, we hide it as it slides away.
109
106
  input:not(:checked) + label { opacity: 0; }
110
107
 
111
108
  // Controlling the position of the labels as they are toggled.
112
- input:checked { display: none; }
113
- input { left: 0; }
114
- input:first-of-type + label { left: -50%; }
115
- input:first-of-type:checked + label { left: 0%; }
116
- input:last-of-type + label { right: -50%; left: auto; }
117
- input:last-of-type:checked + label { right: 0%; left: auto; }
109
+ input:checked { display: none !important; }
110
+ input { left: 0; display: block !important; }
111
+
112
+ // Left Label alignment and position changes, including fixes for while inside a custom form
113
+ input:first-of-type + label,
114
+ input:first-of-type + span + label { left: -50%; }
115
+ input:first-of-type:checked + label,
116
+ input:first-of-type:checked + span + label { left: 0%; }
117
+
118
+ // Right Label alignment and position changes, including fixes for while inside a custom form
119
+ input:last-of-type + label,
120
+ input:last-of-type + span + label { right: -50%; left: auto; text-align: right; }
121
+ input:last-of-type:checked + label,
122
+ input:last-of-type:checked + span + label { right: 0%; left: auto; }
123
+
124
+ // Hiding custom form spans since we auto-create them
125
+ span.custom { display: none !important; }
118
126
 
119
127
  // Bugfix for older Webkit, including mobile Webkit. Adapted from:
120
128
  // http://css-tricks.com/webkit-sibling-bug/
@@ -53,6 +53,7 @@ $tooltip-pip-size: 5px !default;
53
53
  width: 100%;
54
54
  color: $tooltip-font-color;
55
55
  background: $tooltip-bg;
56
+ @include radius($tooltip-radius);
56
57
 
57
58
  &>.nub {
58
59
  display: block;
@@ -68,8 +69,6 @@ $tooltip-pip-size: 5px !default;
68
69
  color: $has-tip-font-color-hover !important;
69
70
  border-bottom: $has-tip-border-bottom-hover !important;
70
71
  }
71
-
72
- &.radius{ @include radius($tooltip-radius); }
73
72
  }
74
73
 
75
74
  .tap-to-close {