zurb-foundation 4.0.4 → 4.0.5
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.
- data/CHANGELOG.md +26 -2
- data/CONTRIBUTING.md +0 -8
- data/Gemfile.lock +2 -2
- data/docs/_sidebar-components.html.erb +1 -0
- data/docs/_sidebar.html.erb +1 -0
- data/docs/changelog.html.erb +29 -1
- data/docs/components/block-grid.html.erb +11 -2
- data/docs/components/clearing.html.erb +1 -1
- data/docs/components/custom-forms.html.erb +14 -13
- data/docs/components/dropdown.html.erb +1 -1
- data/docs/components/flex-video.html.erb +1 -1
- data/docs/components/grid.html.erb +2 -2
- data/docs/components/joyride.html.erb +1 -1
- data/docs/components/magellan.html.erb +1 -1
- data/docs/components/orbit.html.erb +5 -1
- data/docs/components/pricing-tables.html.erb +3 -3
- data/docs/components/progress-bars.html.erb +1 -0
- data/docs/components/reveal.html.erb +5 -1
- data/docs/components/section.html.erb +66 -4
- data/docs/components/split-buttons.html.erb +11 -11
- data/docs/components/tooltips.html.erb +1 -1
- data/docs/components/top-bar.html.erb +4 -2
- data/docs/components/type.html.erb +7 -1
- data/docs/components/visibility.html.erb +17 -11
- data/docs/javascript.html.erb +1 -1
- data/docs/layout.html.erb +3 -3
- data/docs/media-queries.html.erb +96 -0
- data/docs/sass.html.erb +82 -2
- data/foundation.gemspec +1 -1
- data/js/foundation/foundation.forms.js +6 -14
- data/js/foundation/foundation.joyride.js +12 -10
- data/js/foundation/foundation.orbit.js +2 -0
- data/js/foundation/foundation.section.js +61 -4
- data/js/foundation/foundation.topbar.js +9 -2
- data/js/vendor/zepto.js +415 -313
- data/lib/foundation/version.rb +1 -1
- data/scss/foundation/_foundation-global.scss +4 -0
- data/scss/foundation/components/_block-grid.scss +4 -4
- data/scss/foundation/components/_button-groups.scss +4 -4
- data/scss/foundation/components/_buttons.scss +2 -1
- data/scss/foundation/components/_custom-forms.scss +1 -1
- data/scss/foundation/components/_forms.scss +3 -4
- data/scss/foundation/components/_global.scss +11 -8
- data/scss/foundation/components/_magellan.scss +7 -2
- data/scss/foundation/components/_orbit.scss +6 -3
- data/scss/foundation/components/_progress-bars.scss +6 -4
- data/scss/foundation/components/_section.scss +48 -1
- data/scss/foundation/components/_top-bar.scss +15 -14
- data/scss/foundation/components/_type.scss +3 -3
- data/scss/foundation/components/_visibility.scss +259 -55
- data/templates/project/scss/_settings.scss +7 -0
- metadata +6 -6
- data/docs/_zurb-jobs.html.erb +0 -5
data/lib/foundation/version.rb
CHANGED
@@ -83,6 +83,7 @@ $include-print-styles: true !default;
|
|
83
83
|
|
84
84
|
// We use this to create equal side border radius on elements.
|
85
85
|
@mixin side-radius($side, $radius) {
|
86
|
+
@include radius(0);
|
86
87
|
@if $side == left {
|
87
88
|
-moz-border-radius-bottomleft: $radius;
|
88
89
|
-moz-border-radius-topleft: $radius;
|
@@ -174,6 +175,9 @@ $small-screen: emCalc(768px) !default;
|
|
174
175
|
$medium-screen: emCalc(1280px) !default;
|
175
176
|
$large-screen: emCalc(1440px) !default;
|
176
177
|
|
178
|
+
$screen: "only screen" !default;
|
177
179
|
$small: "only screen and (min-width:"#{$small-screen}")" !default;
|
178
180
|
$medium: "only screen and (min-width:"#{$medium-screen}")" !default;
|
179
181
|
$large: "only screen and (min-width:"#{$large-screen}")" !default;
|
182
|
+
$landscape: "only screen and (orientation: landscape)" !default;
|
183
|
+
$portrait: "only screen and (orientation: portrait)" !default;
|
@@ -35,8 +35,9 @@ $block-grid-media-queries: true !default;
|
|
35
35
|
&>li {
|
36
36
|
width: 100%/$per-row;
|
37
37
|
padding: 0 $spacing $spacing;
|
38
|
+
|
39
|
+
&:nth-of-type(#{$per-row}n+1) { clear: both; }
|
38
40
|
}
|
39
|
-
&:nth-of-type(#{$per-row}n+1) { clear: both; }
|
40
41
|
}
|
41
42
|
|
42
43
|
}
|
@@ -57,10 +58,9 @@ $block-grid-media-queries: true !default;
|
|
57
58
|
@media #{$small} {
|
58
59
|
@for $i from 1 through $block-grid-elements {
|
59
60
|
.large-block-grid-#{($i)} {
|
60
|
-
@
|
61
|
-
@else if $i == 3 { @include block-grid(3,12px,false); }
|
62
|
-
@else { @include block-grid($i,$block-grid-default-spacing,false); }
|
61
|
+
@include block-grid($i,$block-grid-default-spacing,false);
|
63
62
|
}
|
64
63
|
}
|
64
|
+
[class*="small-block-grid-"] > li { clear: none !important; }
|
65
65
|
}
|
66
66
|
}
|
@@ -34,12 +34,12 @@ $button-bar-margin-right: emCalc(10px) !default;
|
|
34
34
|
|
35
35
|
// We use these to control left and right radius on first/last buttons in the group.
|
36
36
|
@if $radius == true {
|
37
|
-
&:first-child > a { @include side-radius($default-float, $button-radius); }
|
38
|
-
&:last-child > a { @include side-radius($default-opposite, $button-radius); }
|
37
|
+
&:first-child > a, &:first-child > button { @include side-radius($default-float, $button-radius); }
|
38
|
+
&:last-child > a, &:last-child > button { @include side-radius($default-opposite, $button-radius); }
|
39
39
|
}
|
40
40
|
@else if $radius {
|
41
|
-
&:first-child > a { @include side-radius($default-float, $radius); }
|
42
|
-
&:last-child > a { @include side-radius($default-opposite, $radius); }
|
41
|
+
&:first-child > a, &:first-child > button { @include side-radius($default-float, $radius); }
|
42
|
+
&:last-child > a, &:last-child > button { @include side-radius($default-opposite, $radius); }
|
43
43
|
}
|
44
44
|
|
45
45
|
// We use this to make the buttons even width across their container
|
@@ -13,6 +13,7 @@ $button-display: inline-block !default;
|
|
13
13
|
$button-margin-bottom: emCalc(20px) !default;
|
14
14
|
|
15
15
|
// We use these to control button text styles.
|
16
|
+
$button-font-family: inherit !default;
|
16
17
|
$button-font-color: #fff !default;
|
17
18
|
$button-font-color-alt: #333 !default;
|
18
19
|
$button-font-med: emCalc(16px) !default;
|
@@ -47,7 +48,7 @@ $button-disabled-opacity: 0.6 !default;
|
|
47
48
|
border-style: $button-border-style;
|
48
49
|
border-width: $button-border-width;
|
49
50
|
cursor: pointer;
|
50
|
-
font-family:
|
51
|
+
font-family: $button-font-family;
|
51
52
|
font-weight: $button-font-weight;
|
52
53
|
line-height: 1;
|
53
54
|
margin: 0 0 $button-margin-bottom;
|
@@ -45,6 +45,7 @@ $custom-dropdown-width-large: 434px !default;
|
|
45
45
|
|
46
46
|
/* Custom Checkbox and Radio Inputs */
|
47
47
|
form.custom {
|
48
|
+
|
48
49
|
.custom {
|
49
50
|
display: inline-block;
|
50
51
|
width: 16px;
|
@@ -57,7 +58,6 @@ form.custom {
|
|
57
58
|
&.radio { @include radius(1000px); }
|
58
59
|
|
59
60
|
&.checkbox {
|
60
|
-
z-index: -1;
|
61
61
|
&:before {
|
62
62
|
content: "";
|
63
63
|
display: block;
|
@@ -11,6 +11,7 @@ $label-font-size: emCalc(14px) !default;
|
|
11
11
|
$label-font-weight: 500 !default;
|
12
12
|
$label-font-color: lighten(#000, 30%) !default;
|
13
13
|
$label-bottom-margin: emCalc(3px) !default;
|
14
|
+
$input-font-family: inherit !default;
|
14
15
|
$input-font-color: rgba(0,0,0,0.75) !default;
|
15
16
|
$input-font-size: emCalc(14px) !default;
|
16
17
|
$input-bg-color: #fff !default;
|
@@ -78,7 +79,7 @@ $input-error-message-font-color-alt: #333 !default;
|
|
78
79
|
// We use this mixin to give all basic form elements their style
|
79
80
|
@mixin form-element() {
|
80
81
|
background-color: $input-bg-color;
|
81
|
-
font-family:
|
82
|
+
font-family: $input-font-family;
|
82
83
|
border: $input-border-width $input-border-style $input-border-color;
|
83
84
|
-webkit-box-shadow: $input-box-shadow;
|
84
85
|
box-shadow: $input-box-shadow;
|
@@ -265,8 +266,6 @@ label { @include form-label;
|
|
265
266
|
.postfix.button.radius { @include side-radius(right, $global-radius); }
|
266
267
|
.prefix.button.round { @include side-radius(left, 1000px); }
|
267
268
|
.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); }
|
270
269
|
|
271
270
|
/* Separate prefix and postfix styles when on span so buttons keep their own */
|
272
271
|
span.prefix { @include prefix();
|
@@ -334,4 +333,4 @@ label.error { @include form-label-error-color; }
|
|
334
333
|
.error small,
|
335
334
|
small.error {
|
336
335
|
@include form-error-message;
|
337
|
-
}
|
336
|
+
}
|
@@ -22,6 +22,9 @@ body {
|
|
22
22
|
-webkit-font-smoothing: $font-smoothing;
|
23
23
|
}
|
24
24
|
|
25
|
+
// Override outline from normalize, we don't like it
|
26
|
+
a:focus { outline: none; }
|
27
|
+
|
25
28
|
// Grid Defaults to get images and embeds to work properly
|
26
29
|
img,
|
27
30
|
object,
|
@@ -40,16 +43,16 @@ img { -ms-interpolation-mode: bicubic; }
|
|
40
43
|
}
|
41
44
|
|
42
45
|
// 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; }
|
46
|
+
.left { float: left !important; }
|
47
|
+
.right { float: right !important; }
|
48
|
+
.text-left { text-align: left !important; }
|
49
|
+
.text-right { text-align: right !important; }
|
50
|
+
.text-center { text-align: center !important; }
|
51
|
+
.text-justify { text-align: justify !important; }
|
49
52
|
.hide { display: none; }
|
50
53
|
|
51
|
-
// Get rid of gap under images by making them display: block; by default
|
52
|
-
img { display: block; }
|
54
|
+
// Get rid of gap under images by making them display: inline-block; by default
|
55
|
+
img { display: inline-block; }
|
53
56
|
|
54
57
|
//
|
55
58
|
// Global resets for forms
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// Orbit Settings
|
2
2
|
|
3
3
|
// We use these to control the caption styles
|
4
|
+
$orbit-container-bg: #f5f5f5 !default;
|
4
5
|
$orbit-caption-bg-old-browser: #000 !default;
|
5
6
|
$orbit-caption-bg-old: rgb(0,0,0) !default;
|
6
7
|
$orbit-caption-bg: rgba(0,0,0,0.6) !default;
|
@@ -23,12 +24,15 @@ $orbit-slide-number-bg: rgb(0,0,0) !default;
|
|
23
24
|
$orbit-slide-number-font-color: #fff !default;
|
24
25
|
$orbit-slide-number-padding: emCalc(5px) !default;
|
25
26
|
|
27
|
+
// Margin for when Orbit is stacked on small screens
|
28
|
+
$stack-on-small-margin-bottom: emCalc(20px) !default;
|
29
|
+
|
26
30
|
|
27
31
|
.orbit-container {
|
28
32
|
overflow: hidden;
|
29
33
|
width: 100%;
|
30
34
|
position: relative;
|
31
|
-
background:
|
35
|
+
background: $orbit-container-bg;
|
32
36
|
|
33
37
|
.orbit-slides-container {
|
34
38
|
list-style: none;
|
@@ -177,6 +181,7 @@ $orbit-slide-number-padding: emCalc(5px) !default;
|
|
177
181
|
.orbit-bullets { display: none; }
|
178
182
|
}
|
179
183
|
|
184
|
+
|
180
185
|
@media #{$small} {
|
181
186
|
|
182
187
|
.touch {
|
@@ -188,6 +193,4 @@ $orbit-slide-number-padding: emCalc(5px) !default;
|
|
188
193
|
.orbit-bullets { display: block; }
|
189
194
|
}
|
190
195
|
|
191
|
-
|
192
|
-
|
193
196
|
}
|
@@ -4,6 +4,7 @@
|
|
4
4
|
|
5
5
|
// We use this to se the prog bar height
|
6
6
|
$progress-bar-height: emCalc(25px) !default;
|
7
|
+
$progress-bar-color: transparent !default;
|
7
8
|
|
8
9
|
// We use these to control the border styles
|
9
10
|
$progress-bar-border-color: darken(#fff, 20%) !default;
|
@@ -28,13 +29,14 @@ $progress-meter-alert-color: $alert-color !default;
|
|
28
29
|
|
29
30
|
// We use this to set up the progress bar container
|
30
31
|
@mixin progress-container {
|
32
|
+
background-color: $progress-bar-color;
|
31
33
|
height: $progress-bar-height;
|
32
34
|
border: $progress-bar-border-size $progress-bar-border-style $progress-bar-border-color;
|
33
35
|
padding: $progress-bar-pad;
|
34
36
|
margin-bottom: $progress-bar-margin-bottom;
|
35
37
|
}
|
36
38
|
|
37
|
-
@mixin progress-meter($bg:$
|
39
|
+
@mixin progress-meter($bg:$progress-meter-color) {
|
38
40
|
background: $bg;
|
39
41
|
height: 100%;
|
40
42
|
display: block;
|
@@ -51,9 +53,9 @@ $progress-meter-alert-color: $alert-color !default;
|
|
51
53
|
.meter {
|
52
54
|
@include progress-meter;
|
53
55
|
}
|
54
|
-
&.secondary .meter { @include progress-meter($bg:$secondary-color); }
|
55
|
-
&.success .meter { @include progress-meter($bg:$success-color); }
|
56
|
-
&.alert .meter { @include progress-meter($bg:$alert-color); }
|
56
|
+
&.secondary .meter { @include progress-meter($bg:$progress-meter-secondary-color); }
|
57
|
+
&.success .meter { @include progress-meter($bg:$progress-meter-success-color); }
|
58
|
+
&.alert .meter { @include progress-meter($bg:$progress-meter-alert-color); }
|
57
59
|
|
58
60
|
&.radius { @include radius($global-radius);
|
59
61
|
.meter { @include radius($global-radius - 1); }
|
@@ -53,6 +53,13 @@ $section-bottom-margin: emCalc(20px) !default;
|
|
53
53
|
@else if $section-type == vertical-nav {
|
54
54
|
|
55
55
|
}
|
56
|
+
|
57
|
+
// Horizontal Nav container border styles
|
58
|
+
@else if $section-type == horizontal-nav {
|
59
|
+
position: relative;
|
60
|
+
background: $section-title-bg;
|
61
|
+
border: $section-border-size $section-border-style $section-border-color;
|
62
|
+
}
|
56
63
|
}
|
57
64
|
|
58
65
|
// We use this mixin to create the styles for sections as accordions.
|
@@ -108,10 +115,10 @@ $section-bottom-margin: emCalc(20px) !default;
|
|
108
115
|
position: static;
|
109
116
|
|
110
117
|
.title {
|
111
|
-
top: 1px;
|
112
118
|
width: auto;
|
113
119
|
border: $section-border-size $section-border-style $section-border-color;
|
114
120
|
border-right: 0;
|
121
|
+
border-bottom: 0;
|
115
122
|
position: absolute;
|
116
123
|
z-index: 1;
|
117
124
|
|
@@ -123,6 +130,7 @@ $section-bottom-margin: emCalc(20px) !default;
|
|
123
130
|
border: $section-border-size $section-border-style $section-border-color;
|
124
131
|
position: absolute;
|
125
132
|
z-index: 10;
|
133
|
+
top: -1px;
|
126
134
|
}
|
127
135
|
|
128
136
|
&.active {
|
@@ -157,6 +165,38 @@ $section-bottom-margin: emCalc(20px) !default;
|
|
157
165
|
}
|
158
166
|
}
|
159
167
|
}
|
168
|
+
|
169
|
+
// Horizontal Nav Styles
|
170
|
+
@else if $section-type == horizontal-nav {
|
171
|
+
padding-top: 0;
|
172
|
+
border: 0;
|
173
|
+
position: static;
|
174
|
+
|
175
|
+
.title {
|
176
|
+
width: auto;
|
177
|
+
border: $section-border-size $section-border-style $section-border-color;
|
178
|
+
border-left: 0;
|
179
|
+
top: -1px;
|
180
|
+
position: absolute;
|
181
|
+
z-index: 1;
|
182
|
+
|
183
|
+
a { width: 100%; }
|
184
|
+
}
|
185
|
+
|
186
|
+
.content { display: none; }
|
187
|
+
|
188
|
+
&.active {
|
189
|
+
.content {
|
190
|
+
display: block;
|
191
|
+
position: absolute;
|
192
|
+
z-index: 999;
|
193
|
+
left: 0;
|
194
|
+
top: -2px;
|
195
|
+
min-width: $section-vertical-nav-min-width;
|
196
|
+
border: $section-border-size $section-border-style $section-border-color;
|
197
|
+
}
|
198
|
+
}
|
199
|
+
}
|
160
200
|
}
|
161
201
|
|
162
202
|
|
@@ -183,6 +223,13 @@ $section-bottom-margin: emCalc(20px) !default;
|
|
183
223
|
.section { @include section(vertical-nav); }
|
184
224
|
}
|
185
225
|
|
226
|
+
.section-container.horizontal-nav {
|
227
|
+
@include section-container(false, horizontal-nav);
|
228
|
+
|
229
|
+
section,
|
230
|
+
.section { @include section(horizontal-nav); }
|
231
|
+
}
|
232
|
+
|
186
233
|
.section-container.tabs {
|
187
234
|
@include section-container(false, tabs);
|
188
235
|
|
@@ -106,7 +106,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
106
106
|
// Menu toggle button on small devices
|
107
107
|
.toggle-topbar {
|
108
108
|
position: absolute;
|
109
|
-
|
109
|
+
#{$default-opposite}: 0;
|
110
110
|
top: 0;
|
111
111
|
|
112
112
|
a {
|
@@ -123,10 +123,10 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
123
123
|
|
124
124
|
// Adding the class "menu-icon" will add the 3-line icon people love and adore.
|
125
125
|
&.menu-icon {
|
126
|
-
|
126
|
+
#{$default-opposite}: $topbar-height / 3;
|
127
127
|
top: 50%;
|
128
128
|
margin-top: -16px;
|
129
|
-
padding-
|
129
|
+
padding-#{$default-float}: 40px;
|
130
130
|
|
131
131
|
a {
|
132
132
|
text-indent: -48px;
|
@@ -138,7 +138,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
138
138
|
|
139
139
|
span {
|
140
140
|
position: absolute;
|
141
|
-
|
141
|
+
#{$default-opposite}: 0;
|
142
142
|
display: block;
|
143
143
|
width: 16px;
|
144
144
|
height: 0;
|
@@ -208,8 +208,9 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
208
208
|
& > a {
|
209
209
|
display: block;
|
210
210
|
width: 100%;
|
211
|
-
|
212
|
-
|
211
|
+
color: $topbar-dropdown-link-color;
|
212
|
+
padding: 12px 0 12px 0;
|
213
|
+
padding-#{$default-float}: $topbar-height / 3;
|
213
214
|
font-size: $topbar-link-font-size;
|
214
215
|
font-weight: $topbar-link-weight;
|
215
216
|
background: $topbar-dropdown-bg;
|
@@ -263,7 +264,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
263
264
|
margin-top: -($topbar-dropdown-toggle-size / 2) - 2;
|
264
265
|
position: absolute;
|
265
266
|
top: 50%;
|
266
|
-
|
267
|
+
#{$default-opposite}: 0;
|
267
268
|
}
|
268
269
|
}
|
269
270
|
|
@@ -321,7 +322,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
321
322
|
.top-bar { background: $topbar-bg; @include clearfix; overflow: visible;
|
322
323
|
.toggle-topbar { display: none; }
|
323
324
|
|
324
|
-
.title-area { float:
|
325
|
+
.title-area { float: $default-float; }
|
325
326
|
.name h1 a { width: auto; }
|
326
327
|
|
327
328
|
input,
|
@@ -349,7 +350,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
349
350
|
display: inline;
|
350
351
|
|
351
352
|
li {
|
352
|
-
float:
|
353
|
+
float: $default-float;
|
353
354
|
.js-generated { display: none; }
|
354
355
|
}
|
355
356
|
}
|
@@ -390,7 +391,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
390
391
|
border: none;
|
391
392
|
content: "\00bb";
|
392
393
|
margin-top: -7px;
|
393
|
-
|
394
|
+
#{$default-opposite}: 5px;
|
394
395
|
}
|
395
396
|
}
|
396
397
|
}
|
@@ -398,7 +399,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
398
399
|
}
|
399
400
|
|
400
401
|
.dropdown {
|
401
|
-
|
402
|
+
#{$default-float}: 0;
|
402
403
|
top: auto;
|
403
404
|
background: transparent;
|
404
405
|
|
@@ -417,7 +418,7 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
417
418
|
|
418
419
|
// Second Level Dropdowns
|
419
420
|
.dropdown {
|
420
|
-
|
421
|
+
#{$default-float}: 100%;
|
421
422
|
top: 0;
|
422
423
|
}
|
423
424
|
}
|
@@ -426,8 +427,8 @@ $topbar-media-query: "only screen and (min-width:"#{$topbar-breakpoint}")" !defa
|
|
426
427
|
& > ul > .divider {
|
427
428
|
border-bottom: none;
|
428
429
|
border-top: none;
|
429
|
-
border-
|
430
|
-
border-
|
430
|
+
border-#{$default-opposite}: solid 1px lighten($topbar-bg, 10%);
|
431
|
+
border-#{$default-float}: solid 1px darken($topbar-bg, 10%);
|
431
432
|
clear: none;
|
432
433
|
height: $topbar-height;
|
433
434
|
width: 0px;
|