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.
Files changed (31) hide show
  1. data/CHANGELOG.md +15 -0
  2. data/README.md +1 -0
  3. data/lib/foundation/version.rb +1 -1
  4. data/scss/foundation/_settings.scss +1 -0
  5. data/scss/foundation/common/_globals.scss +3 -2
  6. data/scss/foundation/components/modules/_clearing.scss +1 -1
  7. data/scss/foundation/components/modules/_joyride.scss +1 -1
  8. data/scss/foundation/components/modules/_mqueries.scss +5 -3
  9. data/scss/foundation/components/modules/_topbar.scss +4 -2
  10. data/scss/foundation/components/modules/_ui.scss +3 -3
  11. data/scss/foundation/mixins/_clearfix.scss +2 -2
  12. data/scss/foundation/mixins/_semantic-grid.scss +10 -10
  13. data/templates/project/index.html +1 -1
  14. data/templates/project/scss/_settings.scss +1 -0
  15. data/templates/project/scss/app.scss +3 -0
  16. data/test/clearing.html +2 -0
  17. data/test/elements.html +2 -2
  18. data/test/forms.html +39 -39
  19. data/test/reveal.html +2 -2
  20. data/test/scss/_settings.scss +1 -0
  21. data/test/scss/styles.scss +2 -1
  22. data/vendor/assets/javascripts/foundation/app.js +1 -1
  23. data/vendor/assets/javascripts/foundation/jquery.foundation.accordion.js +10 -5
  24. data/vendor/assets/javascripts/foundation/jquery.foundation.buttons.js +6 -1
  25. data/vendor/assets/javascripts/foundation/jquery.foundation.clearing.js +16 -4
  26. data/vendor/assets/javascripts/foundation/jquery.foundation.forms.js +2 -2
  27. data/vendor/assets/javascripts/foundation/jquery.foundation.joyride.js +8 -8
  28. data/vendor/assets/javascripts/foundation/jquery.foundation.magellan.js +7 -6
  29. data/vendor/assets/javascripts/foundation/jquery.foundation.tabs.js +50 -37
  30. data/vendor/assets/javascripts/foundation/jquery.foundation.topbar.js +17 -13
  31. 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
 
@@ -1,3 +1,3 @@
1
1
  module Foundation
2
- VERSION = "3.2.0"
2
+ VERSION = "3.2.2"
3
3
  end
@@ -23,6 +23,7 @@ $darkEdge: rgba(#000, .2) !default;
23
23
 
24
24
  // Font Settings
25
25
 
26
+ $fontSmoothing: antialiased;
26
27
  $headerFontFamily: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif !default;
27
28
  $headerFontWeight: bold !default;
28
29
  $headerFontStyle: normal !default;
@@ -2,12 +2,13 @@
2
2
 
3
3
  /* Global Reset & Standards ---------------------- */
4
4
 
5
- * { @include box-sizing(border-box); }
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: antialiased; }
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; }
@@ -23,7 +23,7 @@
23
23
 
24
24
  .block-grid.three-up > li:nth-child(3n+1) { clear: none; }
25
25
 
26
- ul[data-clearing] li { display: block;
26
+ ul[data-clearing] li { cursor: pointer; display: block;
27
27
  &.clearing-feature ~ li { display: none; }
28
28
  }
29
29
 
@@ -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 / 2; height: $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: 0 $topBarHeightMobile / 2 5px; }
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
- &:hover, &.active { background: darken($topBarBgColor, 15%);
48
- a { color: darken($topBarLinkColor, 15%); }
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
- a { display: block; }
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() { width: $rowWidth; max-width: 100%; min-width: $screenSmall; margin: 0 auto; @extend %clearfix; }
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 { @include innerRowBase(); }
59
+ %row-i-base { width: auto; max-width: none; min-width: 0; }
60
60
  %row-i { @include innerRow(); }
61
61
 
62
- %c-base { @include columnBase(); }
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
- <meta name="viewport" content="width=device-width" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
12
12
 
13
13
  <title>Welcome to Foundation</title>
14
14
 
@@ -25,6 +25,7 @@
25
25
 
26
26
  // Font Settings
27
27
 
28
+ // $fontSmoothing: antialiased;
28
29
  // $headerFontFamily: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
29
30
  // $headerFontWeight: bold;
30
31
  // $headerFontStyle: normal;
@@ -45,3 +45,6 @@
45
45
  // @import "foundation/components/modules/orbit";
46
46
  // @import "foundation/components/modules/reveal";
47
47
  // @import "foundation/components/modules/offcanvas";
48
+
49
+ // Media Queries Overrides
50
+ // @import "foundation/components/modules/mqueries";
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 hover">
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="#" data-reveal-id="exampleModal" class="radius button">
36
+ <a href="#" class="radius button">
37
37
  Example Modal&hellip;
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
- // Page-Specific JavaScript Goes Here
88
+ // Page-Specific JavaScript Goes Here
89
89
  </script>
90
90
  </body>
91
91
  </html>
@@ -25,6 +25,7 @@
25
25
 
26
26
  // Font Settings
27
27
 
28
+ // $fontSmoothing: antialiased;
28
29
  // $headerFontFamily: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
29
30
  // $headerFontWeight: bold;
30
31
  // $headerFontStyle: normal;
@@ -46,4 +46,5 @@
46
46
  // @import "foundation/components/modules/reveal";
47
47
  // @import "foundation/components/modules/offcanvas";
48
48
 
49
- body { font-size: ms(-3); }
49
+ // Media Queries Overrides
50
+ // @import "foundation/components/modules/mqueries";
@@ -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 p = $(this).parent(),
22
+ var li = $(this),
23
+ p = $(this).parent(),
23
24
  flyout = $(this).children('.content').first();
24
25
 
25
- $('.content', p).not(flyout).hide().parent('li').removeClass('active'); //changed this
26
- flyout.show(0, function () {
27
- flyout.parent('li').addClass('active');
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
- e.preventDefault();
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, target) {
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.1
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
- $('.joyride-close-tip').on('click.joyride', function (e) {
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.on('resize.joyride', function (e) {
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.outerWidth() + w.scrollLeft(),
541
- bottom = w.outerWidth() + w.scrollTop();
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 defaults = {
16
- threshold: 25,
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
- $('[data-magellan-expedition=fixed]').on('magellan.update-position', function(){
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
- $('[data-magellan-expedition=fixed]').trigger('magellan.update-position');
47
+ $fixedMagellan.trigger('magellan.update-position');
47
48
 
48
49
  $(window).on('resize.magellan', function() {
49
- $('[data-magellan-expedition=fixed]').trigger('magellan.update-position');
50
+ $fixedMagellan.trigger('magellan.update-position');
50
51
  });
51
52
 
52
53
  $(window).on('scroll.magellan', function() {
53
54
  var windowScrollTop = $(window).scrollTop();
54
- $('[data-magellan-expedition=fixed]').each(function() {
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
- $.fn.foundationTabs = function (options) {
5
-
6
- var settings = $.extend({
7
- callback: $.noop
8
- }, options);
9
-
10
- var activateTab = function ($tab) {
11
- var $activeTab = $tab.closest('dl, ul').find('.active'),
12
- target = $tab.children('a').attr("href"),
13
- hasHash = /^#/.test(target),
14
- contentLocation = '';
15
-
16
- if (hasHash) {
17
- contentLocation = target + 'Tab';
18
-
19
- // Strip off the current url that IE adds
20
- contentLocation = contentLocation.replace(/^.+#/, '#');
21
-
22
- //Show Tab Content
23
- $(contentLocation).closest('.tabs-content').children('li').removeClass('active').hide();
24
- $(contentLocation).css('display', 'block').addClass('active');
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
- //Make Tab Active
28
- $activeTab.removeClass('active');
29
- $tab.addClass('active');
30
- };
31
-
32
- $(document).on('click.fndtn', '.tabs a', function (event){
33
- activateTab($(this).parent('dd, li'));
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.1
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
- $section.css({'left': -(100 * settings.index) + '%'});
67
- $section.find('>.name').css({'left': 100 * settings.index + '%'});
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
- $section.css({'left': -(100 * settings.index) + '%'});
91
- $section.find('>.name').css({'left': 100 * settings.index + '%'});
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
- $section.detach();
114
+ settings.$section.detach();
111
115
 
112
- $section.find('.has-dropdown>a').each(function () {
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
- $section.appendTo(settings.$topbar);
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.0
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-10-26 00:00:00.000000000 Z
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: -3236275237627838417
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: -3236275237627838417
225
+ hash: 1729638945161195289
226
226
  requirements: []
227
227
  rubyforge_project:
228
228
  rubygems_version: 1.8.23