zurb-foundation 4.0.3 → 4.0.4

Sign up to get free protection for your applications and to get access to all the features.
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 {