zurb-foundation 3.2.0 → 3.2.2
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 +15 -0
- data/README.md +1 -0
- data/lib/foundation/version.rb +1 -1
- data/scss/foundation/_settings.scss +1 -0
- data/scss/foundation/common/_globals.scss +3 -2
- data/scss/foundation/components/modules/_clearing.scss +1 -1
- data/scss/foundation/components/modules/_joyride.scss +1 -1
- data/scss/foundation/components/modules/_mqueries.scss +5 -3
- data/scss/foundation/components/modules/_topbar.scss +4 -2
- data/scss/foundation/components/modules/_ui.scss +3 -3
- data/scss/foundation/mixins/_clearfix.scss +2 -2
- data/scss/foundation/mixins/_semantic-grid.scss +10 -10
- data/templates/project/index.html +1 -1
- data/templates/project/scss/_settings.scss +1 -0
- data/templates/project/scss/app.scss +3 -0
- data/test/clearing.html +2 -0
- data/test/elements.html +2 -2
- data/test/forms.html +39 -39
- data/test/reveal.html +2 -2
- data/test/scss/_settings.scss +1 -0
- data/test/scss/styles.scss +2 -1
- data/vendor/assets/javascripts/foundation/app.js +1 -1
- data/vendor/assets/javascripts/foundation/jquery.foundation.accordion.js +10 -5
- data/vendor/assets/javascripts/foundation/jquery.foundation.buttons.js +6 -1
- data/vendor/assets/javascripts/foundation/jquery.foundation.clearing.js +16 -4
- data/vendor/assets/javascripts/foundation/jquery.foundation.forms.js +2 -2
- data/vendor/assets/javascripts/foundation/jquery.foundation.joyride.js +8 -8
- data/vendor/assets/javascripts/foundation/jquery.foundation.magellan.js +7 -6
- data/vendor/assets/javascripts/foundation/jquery.foundation.tabs.js +50 -37
- data/vendor/assets/javascripts/foundation/jquery.foundation.topbar.js +17 -13
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,21 @@ We'll keep you up to date with what we've released so you at least have a gist o
|
|
3
3
|
|
4
4
|
---
|
5
5
|
|
6
|
+
### 3.2.2- November 10, 2012
|
7
|
+
This patch fixes a typo found in the tabs plugin.
|
8
|
+
|
9
|
+
### 3.2.1- November 9, 2012
|
10
|
+
This patch include bug fixes for various elements, such as:
|
11
|
+
* Adding a missing line for mqueries.scss into app.scss
|
12
|
+
* Height of fixed magellan element
|
13
|
+
* Update viewport tag with initial-scale
|
14
|
+
* Dropdown button fixes
|
15
|
+
* Clearing bug fixes
|
16
|
+
* Added a font-smoothing variable
|
17
|
+
* Added close support to accordions
|
18
|
+
* Removed deep linking hashes from tabs
|
19
|
+
* Topbar now resets on close for small layouts
|
20
|
+
|
6
21
|
### **3.2**- October 26, 2012
|
7
22
|
With this update we've revamped our documentation to be more organized and explain details regarding Scss, Compass and Javascripts.
|
8
23
|
|
data/README.md
CHANGED
@@ -34,6 +34,7 @@ WordPress
|
|
34
34
|
* [Starter Theme](https://github.com/drewsymo/Foundation) by Drew Morris
|
35
35
|
* [Reverie](http://themefortress.com/reverie/) by Zhen
|
36
36
|
* [WP-Foundation](http://320press.com/wp-foundation/features/) by 320press
|
37
|
+
* [Yeti](https://github.com/modlearning/Yeti) by Modular Learning
|
37
38
|
|
38
39
|
Joomla
|
39
40
|
|
data/lib/foundation/version.rb
CHANGED
@@ -2,12 +2,13 @@
|
|
2
2
|
|
3
3
|
/* Global Reset & Standards ---------------------- */
|
4
4
|
|
5
|
-
|
5
|
+
*, *:before, *:after { @include box-sizing(border-box); }
|
6
6
|
html { font-size: 62.5%; }
|
7
|
-
body { background: $white; font-family: $bodyFontFamily; font-weight: $bodyFontWeight; font-style: $bodyFontStyle; font-size: ms(0); line-height: 1; color: $bodyFontColor; position: relative; -webkit-font-smoothing:
|
7
|
+
body { background: $white; font-family: $bodyFontFamily; font-weight: $bodyFontWeight; font-style: $bodyFontStyle; font-size: ms(0); line-height: 1; color: $bodyFontColor; position: relative; -webkit-font-smoothing: $fontSmoothing; }
|
8
8
|
|
9
9
|
/* Links ---------------------- */
|
10
10
|
|
11
|
+
a img { border:none; }
|
11
12
|
a { color: $mainColor; text-decoration: none; line-height: inherit; }
|
12
13
|
a:hover { color: darken($mainColor, 5%); }
|
13
14
|
a:focus { color: $mainColor; outline: none; }
|
@@ -30,4 +30,4 @@
|
|
30
30
|
&:hover { color: #eee !important; }
|
31
31
|
}
|
32
32
|
|
33
|
-
.joyride-modal-bg { position: fixed; height: 100%; width: 100%; background: $tipScreenFill; z-index: 100; display: none; top: 0; left: 0; cursor: pointer; }
|
33
|
+
.joyride-modal-bg { position: fixed; height: 100%; width: 100%; background: transparent; background: $tipScreenFill; z-index: 100; display: none; top: 0; left: 0; cursor: pointer; }
|
@@ -365,7 +365,7 @@
|
|
365
365
|
/* Branding and name */
|
366
366
|
&.name { background: darken($topBarBgColor, 20%); height: $topBarHeightMobile;
|
367
367
|
h1 { line-height: 1;
|
368
|
-
a { color: $topBarLinkColor; display: block; line-height: $topBarHeightMobile !important; padding-left: $topBarHeightMobile /
|
368
|
+
a { color: $topBarLinkColor; display: block; line-height: $topBarHeightMobile !important; padding-left: $topBarHeightMobile / 3; height: $topBarHeightMobile; }
|
369
369
|
}
|
370
370
|
}
|
371
371
|
&:hover, &.active { a { color: $topBarDropLinkColor; } }
|
@@ -443,7 +443,6 @@
|
|
443
443
|
}
|
444
444
|
}
|
445
445
|
}
|
446
|
-
&>ul { height: $topBarHeight; }
|
447
446
|
section > ul li a:not(.button) { padding-left: $topBarHeightMobile / 2 !important; }
|
448
447
|
|
449
448
|
/* When the Small Nav is Showing */
|
@@ -451,6 +450,9 @@
|
|
451
450
|
ul li.toggle-topbar a { @include cssTriangle($topBarNavToggleSize, rgba(255,255,255,0.5), bottom); top: auto; bottom: 50%; margin-bottom: -($topBarNavToggleSize / 2); }
|
452
451
|
}
|
453
452
|
}
|
454
|
-
.top-bar ul li.has-button { padding:
|
453
|
+
.top-bar ul li.has-button { padding: 5px $topBarHeightMobile / 3; }
|
455
454
|
.top-bar ul li .button.small { margin: 0 !important; display: inline-block; width: 100%; }
|
455
|
+
.top-bar ul > li.has-button {
|
456
|
+
a.button { margin: 0; }
|
457
|
+
}
|
456
458
|
}
|
@@ -44,8 +44,10 @@
|
|
44
44
|
/* Main Navigation links style */
|
45
45
|
&>li { float: left;
|
46
46
|
a:not(.button) { color: $topBarLinkColor; display: block; font-size: $topBarLinkSize; font-weight: $topBarLinkWeight; height: $topBarHeight; line-height: $topBarHeight; padding: 0 $topBarHeight / 3; }
|
47
|
-
&:
|
48
|
-
|
47
|
+
&:not(.name) {
|
48
|
+
&:hover, &.active { background: darken($topBarBgColor, 15%);
|
49
|
+
a { color: darken($topBarLinkColor, 15%); }
|
50
|
+
}
|
49
51
|
}
|
50
52
|
|
51
53
|
/* Dividers between navigation */
|
@@ -101,7 +101,7 @@
|
|
101
101
|
|
102
102
|
&>li { list-style: none; margin: 0; padding: 0; border-top: 1px solid $secondaryColor;
|
103
103
|
|
104
|
-
.title { cursor: pointer; background: lighten($secondaryColor, 5%); padding: 15px; margin: 0; position: relative; border-#{$defaultFloat}: 1px solid $secondaryColor; border-#{$defaultOpposite}: 1px solid $secondaryColor; @include single-transition(0.15s, background, linear);
|
104
|
+
& > div.title { cursor: pointer; background: lighten($secondaryColor, 5%); padding: 15px; margin: 0; position: relative; border-#{$defaultFloat}: 1px solid $secondaryColor; border-#{$defaultOpposite}: 1px solid $secondaryColor; @include single-transition(0.15s, background, linear);
|
105
105
|
|
106
106
|
h1, h2, h3, h4, h5 { margin: 0; }
|
107
107
|
&:after { @include cssTriangle(6px, darken($secondaryColor, 30%), $defaultOpposite); position: absolute; #{$defaultOpposite}: 15px; top: 21px; }
|
@@ -187,9 +187,9 @@
|
|
187
187
|
/* Inline Link List */
|
188
188
|
ul.inline-list, ul.link-list { margin: 0 0 $linkListBottomMargin; padding: 0; list-style: none; overflow: hidden;
|
189
189
|
|
190
|
-
li { list-style: none; float: $defaultFloat; margin-#{$defaultFloat}: 22px; display: block;
|
190
|
+
& > li { list-style: none; float: $defaultFloat; margin-#{$defaultFloat}: 22px; display: block;
|
191
191
|
|
192
|
-
|
192
|
+
& > * { display: block; }
|
193
193
|
}
|
194
194
|
}
|
195
195
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
// The micro clearfix http://nicolasgallagher.com/micro-clearfix-hack/
|
2
2
|
|
3
3
|
@mixin clearfix() { *zoom:1;
|
4
|
-
&:before, &:after { content: ""; display: table; }
|
4
|
+
&:before, &:after { content: " "; display: table; }
|
5
5
|
&:after { clear: both; }
|
6
6
|
}
|
7
7
|
|
8
8
|
@mixin mobileClearfix() {
|
9
|
-
@include respondTo(smallScreen) { &:before, &:after { content: ""; display: table; }
|
9
|
+
@include respondTo(smallScreen) { &:before, &:after { content: " "; display: table; }
|
10
10
|
&:after { clear: both; }
|
11
11
|
&:last-child { float: none; }
|
12
12
|
}
|
@@ -2,11 +2,13 @@
|
|
2
2
|
|
3
3
|
// Outer row mixin for container rows
|
4
4
|
|
5
|
-
@mixin outerRow() {
|
5
|
+
@mixin outerRow() {
|
6
|
+
width: $rowWidth; max-width: 100%; min-width: $screenSmall; margin: 0 auto; @extend %clearfix;
|
7
|
+
@include respondTo(smallScreen) { width: auto; min-width: 0; margin-left: 0; margin-right: 0; }
|
8
|
+
}
|
6
9
|
|
7
10
|
// Inner row mixin for nested rows, must be a child of an outer-row element. $behavior can be 'collapse' to get rid of margins
|
8
11
|
|
9
|
-
@mixin innerRowBase { width: auto; max-width: none; min-width: 0; }
|
10
12
|
@mixin innerRow($behavior: false) {
|
11
13
|
@if $behavior == collapse { @extend %row-i-base; margin: 0; @extend %clearfix;
|
12
14
|
} @else { @extend %row-i-base; margin: 0 (-($columnGutter/2)); @extend %clearfix; }
|
@@ -14,11 +16,10 @@
|
|
14
16
|
|
15
17
|
// Columns mixin, syntax is ($columns, $behavior). Behavior can be 'centered' which centers things or 'collapse' which collapses the gutters. ex @include row(4,[center | collapse])
|
16
18
|
|
17
|
-
@mixin columnBase { position: relative; min-height: 1px; padding: 0 ($columnGutter/2); }
|
18
19
|
@mixin column($columns:$columns, $behavior: false) {
|
19
|
-
@if $behavior == center { @extend %fl-n; margin: 0 auto !important; @extend %c-base; width: gridCalc($columns, $totalColumns);
|
20
|
-
} @else if $behavior == collapse { @extend %fl-l; @extend %c-base; padding: 0; width: gridCalc($columns, $totalColumns);
|
21
|
-
} @else { @extend %fl-l; @extend %c-base; width: gridCalc($columns, $totalColumns); }
|
20
|
+
@if $behavior == center { @extend %fl-n; margin: 0 auto !important; @extend %c-base; width: gridCalc($columns, $totalColumns); @include respondTo(smallScreen) { float: left; width: 100%; }
|
21
|
+
} @else if $behavior == collapse { @extend %fl-l; @extend %c-base; padding: 0; width: gridCalc($columns, $totalColumns); @include respondTo(smallScreen) { float: left; width: 100%; }
|
22
|
+
} @else { @extend %fl-l; @extend %c-base; width: gridCalc($columns, $totalColumns); @include respondTo(smallScreen) { float: left; width: 100%; } }
|
22
23
|
}
|
23
24
|
|
24
25
|
// Offset Mixin, include after a column mixin to manipulate its grid offset.
|
@@ -30,8 +31,7 @@
|
|
30
31
|
@mixin push($push:1) { left: gridCalc($push, $totalColumns); }
|
31
32
|
@mixin pull($push:1) { right: gridCalc($push, $totalColumns); }
|
32
33
|
|
33
|
-
// Mobile Row, synctax is @include mobile-row();
|
34
|
-
|
34
|
+
// Mobile Row, synctax is @include mobile-row(); (This mixin isn't really necessary, will be deprecated in 4)
|
35
35
|
@mixin mobileRow() { @include respondTo(smallScreen) { width: auto; min-width: 0; margin-left: 0; margin-right: 0; @include clearfix(); } }
|
36
36
|
|
37
37
|
// Mobile Columns, syntax is @include mobile-column(#);
|
@@ -56,10 +56,10 @@
|
|
56
56
|
%clearfix-m { @include mobileClearfix(); }
|
57
57
|
|
58
58
|
%row-o { @include outerRow(); }
|
59
|
-
%row-i-base {
|
59
|
+
%row-i-base { width: auto; max-width: none; min-width: 0; }
|
60
60
|
%row-i { @include innerRow(); }
|
61
61
|
|
62
|
-
%c-base {
|
62
|
+
%c-base { position: relative; min-height: 1px; padding: 0 ($columnGutter/2); }
|
63
63
|
|
64
64
|
@for $i from 1 through $totalColumns {
|
65
65
|
%c-#{$i} { @include column($i); }
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<meta charset="utf-8" />
|
9
9
|
|
10
10
|
<!-- Set the viewport width to device width for mobile -->
|
11
|
-
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
12
12
|
|
13
13
|
<title>Welcome to Foundation</title>
|
14
14
|
|
data/test/clearing.html
CHANGED
@@ -56,6 +56,8 @@
|
|
56
56
|
|
57
57
|
<!-- Included JS Files -->
|
58
58
|
<script src="../vendor/assets/javascripts/foundation/jquery.js"></script>
|
59
|
+
<script src="../vendor/assets/javascripts/foundation/jquery.event.move.js"></script>
|
60
|
+
<script src="../vendor/assets/javascripts/foundation/jquery.event.swipe.js"></script>
|
59
61
|
<script src="../vendor/assets/javascripts/foundation/jquery.foundation.mediaQueryToggle.js"></script>
|
60
62
|
<script src="../vendor/assets/javascripts/foundation/jquery.placeholder.js"></script>
|
61
63
|
<script src="../vendor/assets/javascripts/foundation/jquery.foundation.alerts.js"></script>
|
data/test/elements.html
CHANGED
@@ -183,11 +183,11 @@
|
|
183
183
|
<div class="four columns">
|
184
184
|
<a name="accordion"></a>
|
185
185
|
<h4>Accordion</h4>
|
186
|
-
<p>Accordions are similar to tabs as a way to selectively show a single panel of content at a time.</p>
|
186
|
+
<p>Accordions are similar to tabs as a way to selectively show a single panel of content at a time. You can add a <code>.hover</code> class to the accordion <code>ul</code> to make it open on hover.</p>
|
187
187
|
</div>
|
188
188
|
<br>
|
189
189
|
<div class="eight columns">
|
190
|
-
<ul class="accordion
|
190
|
+
<ul class="accordion">
|
191
191
|
<li class="active">
|
192
192
|
<div class="title">
|
193
193
|
<h5>Accordion Panel 1</h5>
|
data/test/forms.html
CHANGED
@@ -51,11 +51,11 @@
|
|
51
51
|
<br>
|
52
52
|
<div class="eight columns">
|
53
53
|
<form>
|
54
|
-
<label>This is a label.</label>
|
55
|
-
<input type="text" placeholder="Standard Input" />
|
54
|
+
<label for="standard_input">This is a label.</label>
|
55
|
+
<input type="text" placeholder="Standard Input" id="standard_input" />
|
56
56
|
|
57
|
-
<label>Address</label>
|
58
|
-
<input type="text" class="twelve" placeholder="Street" />
|
57
|
+
<label for="address_1">Address</label>
|
58
|
+
<input type="text" class="twelve" placeholder="Street" id="address_1" />
|
59
59
|
<div class="row">
|
60
60
|
<div class="six columns">
|
61
61
|
<input type="text" placeholder="City" />
|
@@ -76,26 +76,26 @@
|
|
76
76
|
<form>
|
77
77
|
<div class="row">
|
78
78
|
<div class="two mobile-one columns">
|
79
|
-
<label class="right inline">Address Name:</label>
|
79
|
+
<label class="right inline" for="address_name">Address Name:</label>
|
80
80
|
</div>
|
81
81
|
<div class="ten mobile-three columns">
|
82
|
-
<input type="text" placeholder="e.g. Home" class="eight" />
|
82
|
+
<input type="text" placeholder="e.g. Home" class="eight" id="address_name" />
|
83
83
|
</div>
|
84
84
|
</div>
|
85
85
|
<div class="row">
|
86
86
|
<div class="two mobile-one columns">
|
87
|
-
<label class="right inline">City:</label>
|
87
|
+
<label class="right inline" for="city">City:</label>
|
88
88
|
</div>
|
89
89
|
<div class="ten mobile-three columns">
|
90
|
-
<input type="text" class="eight" />
|
90
|
+
<input type="text" class="eight" id="city" />
|
91
91
|
</div>
|
92
92
|
</div>
|
93
93
|
<div class="row">
|
94
94
|
<div class="two mobile-one columns">
|
95
|
-
<label class="right inline">ZIP:</label>
|
95
|
+
<label class="right inline" for="zip">ZIP:</label>
|
96
96
|
</div>
|
97
97
|
<div class="ten mobile-three columns">
|
98
|
-
<input type="text" class="three" />
|
98
|
+
<input type="text" class="three" id="zip" />
|
99
99
|
</div>
|
100
100
|
</div>
|
101
101
|
</form>
|
@@ -116,11 +116,11 @@
|
|
116
116
|
|
117
117
|
<legend>Fieldset Name</legend>
|
118
118
|
|
119
|
-
<label>This is a label.</label>
|
120
|
-
<input type="text" placeholder="Standard Input" />
|
119
|
+
<label for="standard_input_2">This is a label.</label>
|
120
|
+
<input type="text" placeholder="Standard Input" id="standard_input_2"/>
|
121
121
|
|
122
|
-
<label>Address</label>
|
123
|
-
<input type="text" />
|
122
|
+
<label for="address_2">Address</label>
|
123
|
+
<input type="text" id="address_2" />
|
124
124
|
<input type="text" class="six" />
|
125
125
|
|
126
126
|
</fieldset>
|
@@ -138,7 +138,7 @@
|
|
138
138
|
</div>
|
139
139
|
<br>
|
140
140
|
<div class="eight columns">
|
141
|
-
<label>Input with a prefix character</label>
|
141
|
+
<label for="input_prefix">Input with a prefix character</label>
|
142
142
|
<div class="row">
|
143
143
|
<div class="eight columns">
|
144
144
|
<div class="row collapse">
|
@@ -146,17 +146,17 @@
|
|
146
146
|
<span class="prefix">#</span>
|
147
147
|
</div>
|
148
148
|
<div class="ten mobile-three columns">
|
149
|
-
<input type="text" />
|
149
|
+
<input type="text" id="input_prefix" />
|
150
150
|
</div>
|
151
151
|
</div>
|
152
152
|
</div>
|
153
153
|
</div>
|
154
|
-
<label>Input with a postfix label</label>
|
154
|
+
<label for="input_postfix">Input with a postfix label</label>
|
155
155
|
<div class="row">
|
156
156
|
<div class="eight columns">
|
157
157
|
<div class="row collapse">
|
158
158
|
<div class="nine mobile-three columns">
|
159
|
-
<input type="text" />
|
159
|
+
<input type="text" id="input_postfix" />
|
160
160
|
</div>
|
161
161
|
<div class="three mobile-one columns">
|
162
162
|
<span class="postfix">.com</span>
|
@@ -164,12 +164,12 @@
|
|
164
164
|
</div>
|
165
165
|
</div>
|
166
166
|
</div>
|
167
|
-
<label>Input with a postfix action (button)</label>
|
167
|
+
<label for="input_postfix_button">Input with a postfix action (button)</label>
|
168
168
|
<div class="row">
|
169
169
|
<div class="eight columns">
|
170
170
|
<div class="row collapse">
|
171
171
|
<div class="eight mobile-three columns">
|
172
|
-
<input type="text" />
|
172
|
+
<input type="text" id="input_postfix_button" />
|
173
173
|
</div>
|
174
174
|
<div class="four mobile-one columns">
|
175
175
|
<a class="button expand postfix">Search</a>
|
@@ -192,14 +192,14 @@
|
|
192
192
|
<div class="eight columns">
|
193
193
|
<div class="row">
|
194
194
|
<div class="six columns">
|
195
|
-
<label class="error">Field with Error</label>
|
196
|
-
<input type="text" class="error" />
|
195
|
+
<label class="error" for="error">Field with Error</label>
|
196
|
+
<input type="text" class="error" id="error" />
|
197
197
|
<small class="error">Invalid entry</small>
|
198
198
|
</div>
|
199
199
|
|
200
200
|
<div class="six columns end error">
|
201
|
-
<label>Another Error</label>
|
202
|
-
<input type="text" />
|
201
|
+
<label for="error_2">Another Error</label>
|
202
|
+
<input type="text" id="error_2" />
|
203
203
|
<small>Invalid entry</small>
|
204
204
|
</div>
|
205
205
|
</div>
|
@@ -219,26 +219,26 @@
|
|
219
219
|
<div class="row">
|
220
220
|
<div class="five columns">
|
221
221
|
|
222
|
-
<label>Name</label>
|
223
|
-
<input type="text" />
|
222
|
+
<label for="name">Name</label>
|
223
|
+
<input type="text" id="name" />
|
224
224
|
|
225
|
-
<label>Occupation</label>
|
226
|
-
<input type="text" />
|
225
|
+
<label for="occupation">Occupation</label>
|
226
|
+
<input type="text" id="occupation" />
|
227
227
|
|
228
|
-
<label>Twitter</label>
|
228
|
+
<label for="twitter">Twitter</label>
|
229
229
|
<div class="row collapse">
|
230
230
|
<div class="two mobile-one columns">
|
231
231
|
<span class="prefix">@</span>
|
232
232
|
</div>
|
233
233
|
<div class="ten mobile-three columns">
|
234
|
-
<input type="text" placeholder="foundationzurb" />
|
234
|
+
<input type="text" placeholder="foundationzurb" id="twitter" />
|
235
235
|
</div>
|
236
236
|
</div>
|
237
237
|
|
238
|
-
<label>URL</label>
|
238
|
+
<label for="url">URL</label>
|
239
239
|
<div class="row collapse">
|
240
240
|
<div class="nine mobile-three columns">
|
241
|
-
<input type="text" placeholder="foundation.zurb" />
|
241
|
+
<input type="text" placeholder="foundation.zurb" id="url"/>
|
242
242
|
</div>
|
243
243
|
<div class="three mobile-one columns">
|
244
244
|
<span class="postfix">.com</span>
|
@@ -249,27 +249,27 @@
|
|
249
249
|
|
250
250
|
<div class="five columns">
|
251
251
|
|
252
|
-
<label class="error">Field with Error</label>
|
253
|
-
<input type="text" class="error" />
|
252
|
+
<label class="error" for="error_3">Field with Error</label>
|
253
|
+
<input type="text" class="error" id="error_3" />
|
254
254
|
<small class="error">Invalid entry</small>
|
255
255
|
|
256
256
|
<div class="error">
|
257
|
-
<label>Another Error</label>
|
258
|
-
<input type="text" />
|
257
|
+
<label for="error_4">Another Error</label>
|
258
|
+
<input type="text" id="error_4" />
|
259
259
|
<small>Invalid entry</small>
|
260
260
|
</div>
|
261
261
|
|
262
262
|
</div>
|
263
263
|
</div>
|
264
264
|
|
265
|
-
<label>Address</label>
|
266
|
-
<input type="text" placeholder="Street (e.g. 123 Awesome St.)" />
|
265
|
+
<label for="address_3">Address</label>
|
266
|
+
<input type="text" placeholder="Street (e.g. 123 Awesome St.)" id="address_3" />
|
267
267
|
|
268
268
|
<div class="row">
|
269
269
|
<div class="six columns">
|
270
270
|
<input type="text" placeholder="City" />
|
271
271
|
</div>
|
272
|
-
<div class="two columns"
|
272
|
+
<div class="two columns">
|
273
273
|
<select>
|
274
274
|
<option>CA</option>
|
275
275
|
</select>
|
data/test/reveal.html
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
<h4 class="subheader">Modal dialogs, or pop-up windows, are handy for prototyping and production. Foundation includes Reveal our jQuery modal plugin, to make this easy for you.</h4>
|
34
34
|
|
35
35
|
<p>
|
36
|
-
<a href="#"
|
36
|
+
<a href="#" class="radius button">
|
37
37
|
Example Modal…
|
38
38
|
</a>
|
39
39
|
</p>
|
@@ -85,7 +85,7 @@
|
|
85
85
|
<script src="../vendor/assets/javascripts/foundation/jquery.foundation.orbit.js"></script>
|
86
86
|
<script src="../vendor/assets/javascripts/foundation/app.js"></script>
|
87
87
|
<script type="text/javascript">
|
88
|
-
|
88
|
+
// Page-Specific JavaScript Goes Here
|
89
89
|
</script>
|
90
90
|
</body>
|
91
91
|
</html>
|
data/test/scss/_settings.scss
CHANGED
data/test/scss/styles.scss
CHANGED
@@ -17,7 +17,7 @@
|
|
17
17
|
$.fn.foundationMagellan ? $doc.foundationMagellan() : null;
|
18
18
|
$.fn.foundationClearing ? $doc.foundationClearing() : null;
|
19
19
|
|
20
|
-
$('input, textarea').placeholder();
|
20
|
+
$.fn.placeholder ? $('input, textarea').placeholder() : null;
|
21
21
|
});
|
22
22
|
|
23
23
|
// UNCOMMENT THE LINE YOU WANT BELOW IF YOU WANT IE8 SUPPORT AND ARE USING .block-grids
|
@@ -19,13 +19,18 @@
|
|
19
19
|
});
|
20
20
|
} else {
|
21
21
|
$('.accordion li', this).on('click.fndtn', function () {
|
22
|
-
var
|
22
|
+
var li = $(this),
|
23
|
+
p = $(this).parent(),
|
23
24
|
flyout = $(this).children('.content').first();
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
if (li.hasClass('active')) {
|
27
|
+
p.find('li').removeClass('active').end().find('.content').hide();
|
28
|
+
} else {
|
29
|
+
$('.content', p).not(flyout).hide().parent('li').removeClass('active'); //changed this
|
30
|
+
flyout.show(0, function () {
|
31
|
+
flyout.parent('li').addClass('active');
|
32
|
+
});
|
33
|
+
}
|
29
34
|
});
|
30
35
|
}
|
31
36
|
|
@@ -30,7 +30,11 @@
|
|
30
30
|
var $el = $(this),
|
31
31
|
button = $el.closest('.button.dropdown'),
|
32
32
|
dropdown = $('> ul', button);
|
33
|
-
|
33
|
+
|
34
|
+
// If the click is registered on an actual link then do not preventDefault which stops the browser from following the link
|
35
|
+
if (e.target.nodeName !== "A"){
|
36
|
+
e.preventDefault();
|
37
|
+
}
|
34
38
|
|
35
39
|
// close other dropdowns
|
36
40
|
closeDropdowns(config.dropdownAsToggle ? dropdown : '');
|
@@ -44,6 +48,7 @@
|
|
44
48
|
|
45
49
|
// close all dropdowns and deactivate all buttons
|
46
50
|
$doc.on('click.fndtn', 'body, html', function (e) {
|
51
|
+
if (undefined == e.originalEvent) { return; }
|
47
52
|
// check original target instead of stopping event propagation to play nice with other events
|
48
53
|
if (!$(e.originalEvent.target).is('.button.dropdown:not(.split), .button.dropdown.split span')) {
|
49
54
|
closeDropdowns();
|
@@ -18,6 +18,7 @@
|
|
18
18
|
'<p class="clearing-caption"></p><a href="#" class="clearing-main-left"></a>' +
|
19
19
|
'<a href="#" class="clearing-main-right"></a></div>'
|
20
20
|
},
|
21
|
+
initialized : false,
|
21
22
|
locked : false
|
22
23
|
},
|
23
24
|
|
@@ -43,7 +44,7 @@
|
|
43
44
|
// if the gallery hasn't been built yet...build it
|
44
45
|
methods.assemble($el.find('li'));
|
45
46
|
|
46
|
-
methods.events();
|
47
|
+
if (!defaults.initialized) methods.events();
|
47
48
|
|
48
49
|
}
|
49
50
|
});
|
@@ -54,10 +55,15 @@
|
|
54
55
|
|
55
56
|
doc.on('click.fndtn.clearing', 'ul[data-clearing] li', function (e, current, target) {
|
56
57
|
var current = current || $(this),
|
57
|
-
target = target || current
|
58
|
+
target = target || current,
|
59
|
+
settings = current.parent().data('fndtn.clearing.settings');
|
58
60
|
|
59
61
|
e.preventDefault();
|
60
62
|
|
63
|
+
if (!settings) {
|
64
|
+
current.parent().foundationClearing();
|
65
|
+
}
|
66
|
+
|
61
67
|
// set current and target to the clicked li if not otherwise defined.
|
62
68
|
methods.open($(e.target), current, target);
|
63
69
|
methods.update_paddles(target);
|
@@ -85,7 +91,7 @@
|
|
85
91
|
methods.go(clearing, 'prev');
|
86
92
|
});
|
87
93
|
|
88
|
-
doc.on('click.fndtn.clearing', 'a.clearing-close, div.clearing-blackout', function (e) {
|
94
|
+
doc.on('click.fndtn.clearing', 'a.clearing-close, div.clearing-blackout, div.visible-img', function (e) {
|
89
95
|
var root = (function (target) {
|
90
96
|
if (/blackout/.test(target.selector)) {
|
91
97
|
return target;
|
@@ -122,6 +128,10 @@
|
|
122
128
|
if (e.which === 37) {
|
123
129
|
methods.go(clearing, 'prev');
|
124
130
|
}
|
131
|
+
|
132
|
+
if (e.which === 27) {
|
133
|
+
$('a.clearing-close').trigger('click');
|
134
|
+
}
|
125
135
|
});
|
126
136
|
|
127
137
|
doc.on('movestart', function(e) {
|
@@ -144,9 +154,11 @@
|
|
144
154
|
var clearing = $('.clearing-blackout').find('ul[data-clearing]');
|
145
155
|
methods.go(clearing, 'prev');
|
146
156
|
});
|
157
|
+
|
158
|
+
defaults.initialized = true;
|
147
159
|
},
|
148
160
|
|
149
|
-
assemble : function ($li
|
161
|
+
assemble : function ($li) {
|
150
162
|
var $el = $li.parent(),
|
151
163
|
settings = $el.data('fndtn.clearing.settings'),
|
152
164
|
grid = $el.detach(),
|
@@ -376,11 +376,11 @@
|
|
376
376
|
|
377
377
|
var toggleRadio = function($element) {
|
378
378
|
var $input = $element.prev(),
|
379
|
+
$form = $input.closest('form.custom'),
|
379
380
|
input = $input[0];
|
380
381
|
|
381
382
|
if (false === $input.is(':disabled')) {
|
382
|
-
|
383
|
-
$('input:radio[name="' + $input.attr('name') + '"]').next().not($element).removeClass('checked');
|
383
|
+
$form.find('input:radio[name="' + $input.attr('name') + '"]').next().not($element).removeClass('checked');
|
384
384
|
if ( !$element.hasClass('checked') ) {
|
385
385
|
$element.toggleClass('checked');
|
386
386
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery Foundation Joyride Plugin 2.0.
|
2
|
+
* jQuery Foundation Joyride Plugin 2.0.2
|
3
3
|
* http://foundation.zurb.com
|
4
4
|
* Copyright 2012, ZURB
|
5
5
|
* Free to use under the MIT license.
|
@@ -56,7 +56,7 @@
|
|
56
56
|
settings.$window = $(window);
|
57
57
|
settings.$content_el = $(this);
|
58
58
|
settings.body_offset = $(settings.tipContainer).position();
|
59
|
-
settings.$tip_content = $('li', settings.$content_el);
|
59
|
+
settings.$tip_content = $('> li', settings.$content_el);
|
60
60
|
settings.paused = false;
|
61
61
|
settings.attempts = 0;
|
62
62
|
|
@@ -109,12 +109,12 @@
|
|
109
109
|
|
110
110
|
});
|
111
111
|
|
112
|
-
|
112
|
+
settings.$document.on('click.joyride', '.joyride-close-tip', function (e) {
|
113
113
|
e.preventDefault();
|
114
114
|
methods.end();
|
115
115
|
});
|
116
116
|
|
117
|
-
settings.$window.
|
117
|
+
settings.$window.bind('resize.joyride', function (e) {
|
118
118
|
if (methods.is_phone()) {
|
119
119
|
methods.pos_phone();
|
120
120
|
} else {
|
@@ -537,8 +537,8 @@
|
|
537
537
|
|
538
538
|
corners : function (el) {
|
539
539
|
var w = settings.$window,
|
540
|
-
right = w.
|
541
|
-
bottom = w.
|
540
|
+
right = w.width() + w.scrollLeft(),
|
541
|
+
bottom = w.width() + w.scrollTop();
|
542
542
|
|
543
543
|
return [
|
544
544
|
el.offset().top <= w.scrollTop(),
|
@@ -597,13 +597,13 @@
|
|
597
597
|
// define on() and off() for older jQuery
|
598
598
|
if (!$.isFunction($.fn.on)) {
|
599
599
|
|
600
|
-
$.fn.on = function(types, sel, fn) {
|
600
|
+
$.fn.on = function (types, sel, fn) {
|
601
601
|
|
602
602
|
return this.delegate(sel, types, fn);
|
603
603
|
|
604
604
|
};
|
605
605
|
|
606
|
-
$.fn.off = function(types, sel, fn) {
|
606
|
+
$.fn.off = function (types, sel, fn) {
|
607
607
|
|
608
608
|
return this.undelegate(sel, types, fn);
|
609
609
|
|
@@ -12,8 +12,9 @@
|
|
12
12
|
'use strict';
|
13
13
|
|
14
14
|
$.fn.foundationMagellan = function(options) {
|
15
|
-
var
|
16
|
-
|
15
|
+
var $fixedMagellan = $('[data-magellan-expedition=fixed]'),
|
16
|
+
defaults = {
|
17
|
+
threshold: ($fixedMagellan.length) ? $fixedMagellan.outerHeight(true) : 25,
|
17
18
|
activeClass: 'active'
|
18
19
|
},
|
19
20
|
|
@@ -37,21 +38,21 @@
|
|
37
38
|
.addClass($expedition.attr('data-magellan-active-class') || options.activeClass);
|
38
39
|
|
39
40
|
// Update fixed position
|
40
|
-
$
|
41
|
+
$fixedMagellan.on('magellan.update-position', function(){
|
41
42
|
var $el = $(this);
|
42
43
|
$el.data("magellan-fixed-position","");
|
43
44
|
$el.data("magellan-top-offset", "");
|
44
45
|
});
|
45
46
|
|
46
|
-
$
|
47
|
+
$fixedMagellan.trigger('magellan.update-position');
|
47
48
|
|
48
49
|
$(window).on('resize.magellan', function() {
|
49
|
-
$
|
50
|
+
$fixedMagellan.trigger('magellan.update-position');
|
50
51
|
});
|
51
52
|
|
52
53
|
$(window).on('scroll.magellan', function() {
|
53
54
|
var windowScrollTop = $(window).scrollTop();
|
54
|
-
$
|
55
|
+
$fixedMagellan.each(function() {
|
55
56
|
var $expedition = $(this);
|
56
57
|
if ($expedition.data("magellan-top-offset") === "") {
|
57
58
|
$expedition.data("magellan-top-offset", $expedition.offset().top);
|
@@ -1,43 +1,56 @@
|
|
1
|
-
;(function ($, window, undefined) {
|
1
|
+
;(function ($, window, document, undefined) {
|
2
2
|
'use strict';
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
4
|
+
var settings = {
|
5
|
+
callback: $.noop,
|
6
|
+
init: false
|
7
|
+
},
|
8
|
+
|
9
|
+
methods = {
|
10
|
+
init : function (options) {
|
11
|
+
settings = $.extend({}, options, settings);
|
12
|
+
|
13
|
+
return this.each(function () {
|
14
|
+
if (!settings.init) methods.events();
|
15
|
+
});
|
16
|
+
},
|
17
|
+
|
18
|
+
events : function () {
|
19
|
+
$(document).on('click.fndtn', '.tabs a', function (e) {
|
20
|
+
methods.set_tab($(this).parent('dd, li'), e);
|
21
|
+
});
|
22
|
+
|
23
|
+
settings.init = true;
|
24
|
+
},
|
25
|
+
|
26
|
+
set_tab : function ($tab, e) {
|
27
|
+
var $activeTab = $tab.closest('dl, ul').find('.active'),
|
28
|
+
target = $tab.children('a').attr("href"),
|
29
|
+
hasHash = /^#/.test(target),
|
30
|
+
$content = $(target + 'Tab');
|
31
|
+
|
32
|
+
if (hasHash && $content.length > 0) {
|
33
|
+
// Show tab content
|
34
|
+
e.preventDefault();
|
35
|
+
$content.closest('.tabs-content').children('li').removeClass('active').hide();
|
36
|
+
$content.css('display', 'block').addClass('active');
|
37
|
+
}
|
38
|
+
|
39
|
+
// Make active tab
|
40
|
+
$activeTab.removeClass('active');
|
41
|
+
$tab.addClass('active');
|
42
|
+
|
43
|
+
settings.callback();
|
44
|
+
}
|
25
45
|
}
|
26
46
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
}
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
});
|
35
|
-
|
36
|
-
if (window.location.hash) {
|
37
|
-
activateTab($('a[href="' + window.location.hash + '"]').parent('dd, li'));
|
38
|
-
settings.callback();
|
47
|
+
$.fn.foundationTabs = function (method) {
|
48
|
+
if (methods[method]) {
|
49
|
+
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
|
50
|
+
} else if (typeof method === 'object' || !method) {
|
51
|
+
return methods.init.apply(this, arguments);
|
52
|
+
} else {
|
53
|
+
$.error('Method ' + method + ' does not exist on jQuery.foundationTooltips');
|
39
54
|
}
|
40
|
-
|
41
55
|
};
|
42
|
-
|
43
|
-
})(jQuery, this);
|
56
|
+
}(jQuery, this, this.document));
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
* jQuery Foundation Top Bar 2.0.
|
2
|
+
* jQuery Foundation Top Bar 2.0.2
|
3
3
|
* http://foundation.zurb.com
|
4
4
|
* Copyright 2012, ZURB
|
5
5
|
* Free to use under the MIT license.
|
@@ -20,7 +20,8 @@
|
|
20
20
|
return this.each(function () {
|
21
21
|
settings = $.extend(settings, options);
|
22
22
|
settings.$w = $(window),
|
23
|
-
settings.$topbar = $('nav.top-bar')
|
23
|
+
settings.$topbar = $('nav.top-bar'),
|
24
|
+
settings.$section = settings.$topbar.find('section'),
|
24
25
|
settings.$titlebar = settings.$topbar.children('ul:first');
|
25
26
|
var breakpoint = $("<div class='top-bar-js-breakpoint'/>").appendTo("body");
|
26
27
|
settings.breakPoint = breakpoint.width();
|
@@ -46,6 +47,13 @@
|
|
46
47
|
settings.$topbar.toggleClass('expanded');
|
47
48
|
settings.$topbar.css('min-height', '');
|
48
49
|
}
|
50
|
+
|
51
|
+
if (!settings.$topbar.hasClass('expanded')) {
|
52
|
+
settings.$section.css({left: '0%'});
|
53
|
+
settings.$section.find('>.name').css({left: '100%'});
|
54
|
+
settings.$section.find('li.moved').removeClass('moved');
|
55
|
+
settings.index = 0;
|
56
|
+
}
|
49
57
|
});
|
50
58
|
|
51
59
|
// Show the Dropdown Levels on Click
|
@@ -57,14 +65,13 @@
|
|
57
65
|
var $this = $(this),
|
58
66
|
$selectedLi = $this.closest('li'),
|
59
67
|
$nextLevelUl = $selectedLi.children('ul'),
|
60
|
-
$section = $this.closest('section'),
|
61
68
|
$nextLevelUlHeight = 0,
|
62
69
|
$largestUl;
|
63
70
|
|
64
71
|
settings.index += 1;
|
65
72
|
$selectedLi.addClass('moved');
|
66
|
-
|
67
|
-
|
73
|
+
settings.$section.css({left: -(100 * settings.index) + '%'});
|
74
|
+
settings.$section.find('>.name').css({left: 100 * settings.index + '%'});
|
68
75
|
|
69
76
|
$this.siblings('ul').height(settings.height + settings.$titlebar.outerHeight(true));
|
70
77
|
settings.$topbar.css('min-height', settings.height + settings.$titlebar.outerHeight(true) * 2)
|
@@ -83,12 +90,11 @@
|
|
83
90
|
|
84
91
|
var $this = $(this),
|
85
92
|
$movedLi = $this.closest('li.moved'),
|
86
|
-
$section = $this.closest('section'),
|
87
93
|
$previousLevelUl = $movedLi.parent();
|
88
94
|
|
89
95
|
settings.index -= 1;
|
90
|
-
|
91
|
-
|
96
|
+
settings.$section.css({left: -(100 * settings.index) + '%'});
|
97
|
+
settings.$section.find('>.name').css({'left': 100 * settings.index + '%'});
|
92
98
|
|
93
99
|
if (settings.index === 0) {
|
94
100
|
settings.$topbar.css('min-height', 0);
|
@@ -104,12 +110,10 @@
|
|
104
110
|
return settings.$w.width() < settings.breakPoint;
|
105
111
|
},
|
106
112
|
assemble : function () {
|
107
|
-
var $section = settings.$topbar.children('section');
|
108
|
-
|
109
113
|
// Pull element out of the DOM for manipulation
|
110
|
-
|
114
|
+
settings.$section.detach();
|
111
115
|
|
112
|
-
|
116
|
+
settings.$section.find('.has-dropdown>a').each(function () {
|
113
117
|
var $link = $(this),
|
114
118
|
$dropdown = $link.siblings('.dropdown'),
|
115
119
|
$titleLi = $('<li class="title back js-generated"><h5><a href="#"></a></h5></li>');
|
@@ -120,7 +124,7 @@
|
|
120
124
|
});
|
121
125
|
|
122
126
|
// Put element back in the DOM
|
123
|
-
|
127
|
+
settings.$section.appendTo(settings.$topbar);
|
124
128
|
},
|
125
129
|
largestUL : function () {
|
126
130
|
var uls = settings.$topbar.find('section ul ul'),
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zurb-foundation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: compass
|
@@ -213,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
213
213
|
version: '0'
|
214
214
|
segments:
|
215
215
|
- 0
|
216
|
-
hash:
|
216
|
+
hash: 1729638945161195289
|
217
217
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
218
|
none: false
|
219
219
|
requirements:
|
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
222
|
version: '0'
|
223
223
|
segments:
|
224
224
|
- 0
|
225
|
-
hash:
|
225
|
+
hash: 1729638945161195289
|
226
226
|
requirements: []
|
227
227
|
rubyforge_project:
|
228
228
|
rubygems_version: 1.8.23
|