zurb-foundation 2.1.4.2 → 2.1.4.3

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/build.rb CHANGED
@@ -6,7 +6,7 @@ FOUNDATION_REPO_PATH = Pathname.new("/Users/mark/Projects/foundation")
6
6
 
7
7
  # Specify which files need to be concatenated and in what order
8
8
  FOUNDATION_CSS = %w(globals.css typography.css grid.css ui.css forms.css orbit.css reveal.css mobile.css ie.css)
9
- FOUNDATION_JS = %w(jquery.reveal.js jquery.orbit-1.3.0.js forms.jquery.js jquery.customforms.js jquery.placeholder.min.js app.js)
9
+ FOUNDATION_JS = %w(jquery.reveal.js jquery.orbit-1.3.0.js jquery.customforms.js jquery.placeholder.min.js app.js)
10
10
 
11
11
  # Clean out vendor/assets
12
12
  ASSET_PATH = Pathname.new(File.dirname(__FILE__)).join("vendor", "assets")
@@ -1,4 +1,4 @@
1
1
  module Foundation
2
- COMMIT = "46e71bf06a61fdb8adf3d41aa754a93c61757c59"
3
- VERSION = "2.1.4.2"
2
+ COMMIT = "8cc9238073f8a2062bc9dba7203b4d1f71c21c95"
3
+ VERSION = "2.1.4.3"
4
4
  end
@@ -57,10 +57,10 @@ $(document).ready(function () {
57
57
  /* DROPDOWN NAV ------------- */
58
58
 
59
59
  var currentFoundationDropdown = null;
60
- $('.nav-bar li a, .nav-bar li a:after').each(function() {
60
+ $('.nav-bar li a').each(function() {
61
61
  $(this).data('clicks', 0);
62
62
  });
63
- $('.nav-bar li a, .nav-bar li a:after').live('click', function(e) {
63
+ $('.nav-bar li a').on('click', function(e) {
64
64
  e.preventDefault();
65
65
  if (currentFoundationDropdown !== $(this).index() || currentFoundationDropdown === null) {
66
66
  $(this).data('clicks', 0);
@@ -75,7 +75,7 @@ $(document).ready(function () {
75
75
  window.location = $(this).attr('href');
76
76
  }
77
77
  });
78
- $('.nav-bar').live('click', function(e) {
78
+ $('.nav-bar').on('click', function(e) {
79
79
  e.stopPropagation();
80
80
  if ($(e.target).parents().is('.flyout') || $(e.target).is('.flyout')) {
81
81
  e.preventDefault();
@@ -1,6 +1,5 @@
1
1
  //= require 'foundation/jquery.reveal'
2
2
  //= require 'foundation/jquery.orbit-1.3.0'
3
- //= require 'foundation/forms.jquery'
4
3
  //= require 'foundation/jquery.customforms'
5
4
  //= require 'foundation/jquery.placeholder.min'
6
5
  //= require 'foundation/app'
@@ -23,33 +23,41 @@ jQuery(document).ready(function ($) {
23
23
  }
24
24
  appendCustomMarkup('checkbox');
25
25
  appendCustomMarkup('radio');
26
-
27
- $('form.custom select').each(function () {
28
- var $this = $(this),
26
+
27
+ function appendCustomSelect(sel) {
28
+ var $this = $(sel),
29
29
  $customSelect = $this.next('div.custom.dropdown'),
30
30
  $options = $this.find('option'),
31
31
  maxWidth = 0,
32
32
  $li;
33
-
34
- if ($customSelect.length === 0) {
33
+
34
+ if ($customSelect.length === 0) {
35
35
  $customSelect = $('<div class="custom dropdown"><a href="#" class="selector"></a><ul></ul></div>"');
36
36
  $options.each(function () {
37
37
  $li = $('<li>' + $(this).html() + '</li>');
38
38
  $customSelect.find('ul').append($li);
39
39
  });
40
40
  $customSelect.prepend('<a href="#" class="current">' + $options.first().html() + '</a>');
41
-
41
+
42
42
  $this.after($customSelect);
43
43
  $this.hide();
44
+
45
+ } else {
46
+ // refresh the ul with options from the select in case the supplied markup doesn't match
47
+ $customSelect.find('ul').html('');
48
+ $options.each(function () {
49
+ $li = $('<li>' + $(this).html() + '</li>');
50
+ $customSelect.find('ul').append($li);
51
+ });
44
52
  }
45
-
53
+
46
54
  $options.each(function (index) {
47
55
  if (this.selected) {
48
56
  $customSelect.find('li').eq(index).addClass('selected');
49
57
  $customSelect.find('.current').html($(this).html());
50
58
  }
51
59
  });
52
-
60
+
53
61
  $customSelect.find('li').each(function () {
54
62
  $customSelect.addClass('open');
55
63
  if ($(this).outerWidth() > maxWidth) {
@@ -59,11 +67,51 @@ jQuery(document).ready(function ($) {
59
67
  });
60
68
  $customSelect.css('width', maxWidth + 18 + 'px');
61
69
  $customSelect.find('ul').css('width', maxWidth + 16 + 'px');
70
+
71
+ }
72
+
73
+ $('form.custom select').each(function () {
74
+ appendCustomSelect(this);
62
75
  });
76
+
63
77
  });
64
78
 
65
79
  (function ($) {
66
80
 
81
+ function refreshCustomSelect($select) {
82
+ var maxWidth = 0,
83
+ $customSelect = $select.next();
84
+ $options = $select.find('option');
85
+ $customSelect.find('ul').html('');
86
+
87
+ $options.each(function () {
88
+ $li = $('<li>' + $(this).html() + '</li>');
89
+ $customSelect.find('ul').append($li);
90
+ });
91
+
92
+ // re-populate
93
+ $options.each(function (index) {
94
+ if (this.selected) {
95
+ $customSelect.find('li').eq(index).addClass('selected');
96
+ $customSelect.find('.current').html($(this).html());
97
+ }
98
+ });
99
+
100
+ // fix width
101
+ $customSelect.removeAttr('style')
102
+ .find('ul').removeAttr('style');
103
+ $customSelect.find('li').each(function () {
104
+ $customSelect.addClass('open');
105
+ if ($(this).outerWidth() > maxWidth) {
106
+ maxWidth = $(this).outerWidth();
107
+ }
108
+ $customSelect.removeClass('open');
109
+ });
110
+ $customSelect.css('width', maxWidth + 18 + 'px');
111
+ $customSelect.find('ul').css('width', maxWidth + 16 + 'px');
112
+
113
+ }
114
+
67
115
  function toggleCheckbox($element) {
68
116
  var $input = $element.prev(),
69
117
  input = $input[0];
@@ -87,21 +135,25 @@ jQuery(document).ready(function ($) {
87
135
  $input.trigger('change');
88
136
  }
89
137
 
90
- $(document).on('click', 'form.custom span.custom.checkbox', function (event) {
138
+ $('form.custom span.custom.checkbox').live('click', function (event) {
91
139
  event.preventDefault();
92
140
  event.stopPropagation();
93
141
 
94
142
  toggleCheckbox($(this));
95
143
  });
96
144
 
97
- $(document).on('click', 'form.custom span.custom.radio', function (event) {
145
+ $('form.custom span.custom.radio').live('click', function (event) {
98
146
  event.preventDefault();
99
147
  event.stopPropagation();
100
148
 
101
149
  toggleRadio($(this));
102
150
  });
103
151
 
104
- $(document).on('click', 'form.custom label', function (event) {
152
+ $('form.custom select').live('change', function (event) {
153
+ refreshCustomSelect($(this));
154
+ });
155
+
156
+ $('form.custom label').live('click', function (event) {
105
157
  var $associatedElement = $('#' + $(this).attr('for')),
106
158
  $customCheckbox,
107
159
  $customRadio;
@@ -118,7 +170,7 @@ jQuery(document).ready(function ($) {
118
170
  }
119
171
  });
120
172
 
121
- $(document).on('click', 'form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector', function (event) {
173
+ $('form.custom div.custom.dropdown a.current, form.custom div.custom.dropdown a.selector').live('click', function (event) {
122
174
  var $this = $(this),
123
175
  $dropdown = $this.closest('div.custom.dropdown');
124
176
 
@@ -135,7 +187,7 @@ jQuery(document).ready(function ($) {
135
187
  }
136
188
  });
137
189
 
138
- $(document).on('click', 'form.custom div.custom.dropdown li', function (event) {
190
+ $('form.custom div.custom.dropdown li').live('click', function (event) {
139
191
  var $this = $(this),
140
192
  $customDropdown = $this.closest('div.custom.dropdown'),
141
193
  $select = $customDropdown.prev(),
@@ -167,4 +219,3 @@ jQuery(document).ready(function ($) {
167
219
  });
168
220
  })(jQuery);
169
221
 
170
-
@@ -1,3 +1,3 @@
1
- /*! http://mths.be/placeholder v1.8.5 by @mathias */
2
- (function(g,a,$){var f='placeholder' in a.createElement('input'),b='placeholder' in a.createElement('textarea');if(f&&b){$.fn.placeholder=function(){return this};$.fn.placeholder.input=$.fn.placeholder.textarea=true}else{$.fn.placeholder=function(){return this.filter((f?'textarea':':input')+'[placeholder]').bind('focus.placeholder',c).bind('blur.placeholder',e).trigger('blur.placeholder').end()};$.fn.placeholder.input=f;$.fn.placeholder.textarea=b;$(function(){$('form').bind('submit.placeholder',function(){var h=$('.placeholder',this).each(c);setTimeout(function(){h.each(e)},10)})});$(g).bind('unload.placeholder',function(){$('.placeholder').val('')})}function d(i){var h={},j=/^jQuery\d+$/;$.each(i.attributes,function(l,k){if(k.specified&&!j.test(k.name)){h[k.name]=k.value}});return h}function c(){var h=$(this);if(h.val()===h.attr('placeholder')&&h.hasClass('placeholder')){if(h.data('placeholder-password')){h.hide().next().show().focus().attr('id',h.removeAttr('id').data('placeholder-id'))}else{h.val('').removeClass('placeholder')}}}function e(){var l,k=$(this),h=k,j=this.id;if(k.val()===''){if(k.is(':password')){if(!k.data('placeholder-textinput')){try{l=k.clone().attr({type:'text'})}catch(i){l=$('<input>').attr($.extend(d(this),{type:'text'}))}l.removeAttr('name').data('placeholder-password',true).data('placeholder-id',j).bind('focus.placeholder',c);k.data('placeholder-textinput',l).data('placeholder-id',j).before(l)}k=k.removeAttr('id').hide().prev().attr('id',j).show()}k.addClass('placeholder').val(k.attr('placeholder'))}else{k.removeClass('placeholder')}}}(this,document,jQuery));
1
+ /*! http://mths.be/placeholder v1.8.7 by @mathias */
2
+ (function(f,h,c){var a='placeholder' in h.createElement('input'),d='placeholder' in h.createElement('textarea'),i=c.fn,j;if(a&&d){j=i.placeholder=function(){return this};j.input=j.textarea=true}else{j=i.placeholder=function(){return this.filter((a?'textarea':':input')+'[placeholder]').not('.placeholder').bind('focus.placeholder',b).bind('blur.placeholder',e).trigger('blur.placeholder').end()};j.input=a;j.textarea=d;c(function(){c(h).delegate('form','submit.placeholder',function(){var k=c('.placeholder',this).each(b);setTimeout(function(){k.each(e)},10)})});c(f).bind('unload.placeholder',function(){c('.placeholder').val('')})}function g(l){var k={},m=/^jQuery\d+$/;c.each(l.attributes,function(o,n){if(n.specified&&!m.test(n.name)){k[n.name]=n.value}});return k}function b(){var k=c(this);if(k.val()===k.attr('placeholder')&&k.hasClass('placeholder')){if(k.data('placeholder-password')){k.hide().next().show().focus().attr('id',k.removeAttr('id').data('placeholder-id'))}else{k.val('').removeClass('placeholder')}}}function e(){var o,n=c(this),k=n,m=this.id;if(n.val()===''){if(n.is(':password')){if(!n.data('placeholder-textinput')){try{o=n.clone().attr({type:'text'})}catch(l){o=c('<input>').attr(c.extend(g(this),{type:'text'}))}o.removeAttr('name').data('placeholder-password',true).data('placeholder-id',m).bind('focus.placeholder',b);n.data('placeholder-textinput',o).data('placeholder-id',m).before(o)}n=n.removeAttr('id').hide().prev().attr('id',m).show()}n.addClass('placeholder').val(n.attr('placeholder'))}else{n.removeClass('placeholder')}}}(this,document,jQuery));
3
3
 
@@ -121,9 +121,12 @@
121
121
  /* --------------------------------------------------
122
122
  :: Misc
123
123
  ---------------------------------------------------*/
124
- .left { float: left; }
125
- .right { float: right; }
126
- .hide { display: none; }
127
- .highlight { background: #ff0; }
124
+ .left { float: left; }
125
+ .right { float: right; }
126
+ .text-left { text-align: left; }
127
+ .text-right { text-align: right; }
128
+ .text-center { text-align: center; }
129
+ .hide { display: none; }
130
+ .highlight { background: #ff0; }
128
131
 
129
132
 
@@ -1,4 +1,4 @@
1
- /* Arfully Masterminded by ZURB */
1
+ /* Artfully Masterminded by ZURB */
2
2
 
3
3
  /* --------------------------------------------------
4
4
  :: Grid
@@ -80,6 +80,7 @@
80
80
 
81
81
  img, object, embed { max-width: 100%; height: auto; }
82
82
  img { -ms-interpolation-mode: bicubic; }
83
+ #map_canvas img, .map_canvas img {max-width: none!important;}
83
84
 
84
85
  /* Nicolas Gallagher's micro clearfix */
85
86
  .row:before, .row:after, .clearfix:before, .clearfix:after { content:""; display:table; }
@@ -66,7 +66,7 @@
66
66
 
67
67
  @media only screen and (max-width: 767px) {
68
68
  .block-grid.mobile { margin-left: 0; }
69
- .block-grid.mobile li { float: none; width: 100%; margin-left: 0; }
69
+ .block-grid.mobile > li { float: none; width: 100%; margin-left: 0; }
70
70
  }
71
71
 
72
72
 
@@ -84,7 +84,6 @@
84
84
  .hide-on-tablets { display: block !important; }
85
85
  .hide-on-desktops { display: none !important; }
86
86
 
87
-
88
87
  @media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px) {
89
88
  .hide-on-phones { display: block !important; }
90
89
  .hide-on-tablets { display: none !important; }
@@ -95,6 +94,17 @@
95
94
  .show-on-desktops { display: none !important; }
96
95
  }
97
96
 
97
+ /* Modernizr-enabled tablet targeting */
98
+ @media only screen and (max-width: 1280px) and (min-width: 768px) {
99
+ .touch .hide-on-phones { display: block !important; }
100
+ .touch .hide-on-tablets { display: none !important; }
101
+ .touch .hide-on-desktops { display: block !important; }
102
+
103
+ .touch .show-on-phones { display: none !important; }
104
+ .touch .show-on-tablets { display: block !important; }
105
+ .touch .show-on-desktops { display: none !important; }
106
+ }
107
+
98
108
 
99
109
  @media only screen and (max-width: 767px) {
100
110
  .hide-on-phones { display: none !important; }
@@ -74,7 +74,7 @@ div.timer {
74
74
  right: 10px;
75
75
  opacity: .6;
76
76
  cursor: pointer;
77
- z-index: 1001; }
77
+ z-index: 31; }
78
78
 
79
79
  span.rotator {
80
80
  display: block;
@@ -133,7 +133,7 @@ span.pause.active {
133
133
  .orbit-wrapper .orbit-caption {
134
134
  background: #000;
135
135
  background: rgba(0,0,0,.6);
136
- z-index: 1000;
136
+ z-index: 30;
137
137
  color: #fff;
138
138
  text-align: center;
139
139
  padding: 7px 0;
@@ -155,7 +155,7 @@ div.slider-nav span {
155
155
  height: 100px;
156
156
  text-indent: -9999px;
157
157
  position: absolute;
158
- z-index: 1000;
158
+ z-index: 30;
159
159
  top: 50%;
160
160
  margin-top: -50px;
161
161
  cursor: pointer; }
@@ -173,7 +173,7 @@ div.slider-nav span.left {
173
173
 
174
174
  .orbit-bullets {
175
175
  position: absolute;
176
- z-index: 1000;
176
+ z-index: 30;
177
177
  list-style: none;
178
178
  bottom: -40px;
179
179
  left: 50%;
@@ -217,7 +217,7 @@ div.slider-nav span.left {
217
217
 
218
218
  .orbit-bullets {
219
219
  position: absolute;
220
- z-index: 1000;
220
+ z-index: 30;
221
221
  list-style: none;
222
222
  bottom: -50px;
223
223
  left: 50%;
@@ -7,7 +7,7 @@
7
7
  height: 100%;
8
8
  width: 100%;
9
9
  background: #000;
10
- z-index: 2000;
10
+ z-index: 40;
11
11
  display: none;
12
12
  top: 0;
13
13
  left: 0;
@@ -21,7 +21,7 @@
21
21
  width: 520px;
22
22
  background: #eee image-url("foundation/misc/modal-gloss.png") no-repeat -200px -80px;
23
23
  position: absolute;
24
- z-index: 2001;
24
+ z-index: 41;
25
25
  padding: 30px 40px 34px;
26
26
  -moz-border-radius: 5px;
27
27
  -webkit-border-radius: 5px;
@@ -1,4 +1,4 @@
1
- /* Arfully Masterminded by ZURB */
1
+ /* Artfully Masterminded by ZURB */
2
2
 
3
3
  /* --------------------------------------------------
4
4
  :: Typography
@@ -14,9 +14,9 @@
14
14
 
15
15
  .subheader { color: #777; font-weight: 300; margin-bottom: 24px; }
16
16
 
17
- p { line-height: 17px; margin: 0 0 18px; }
17
+ p { font-size: 13px; font-size: 1.3rem; line-height: 1.25; margin: 0 0 18px; }
18
18
  p img { margin: 0; }
19
- p.lead { font-size: 18px; font-size: 1.8rem; line-height: 24px; }
19
+ p.lead { font-size: 18px; font-size: 1.8rem; line-height: 1.5; }
20
20
 
21
21
  em, i { font-style: italic; line-height: inherit; }
22
22
  strong, b { font-weight: bold; line-height: inherit; }
@@ -40,7 +40,7 @@
40
40
  }
41
41
 
42
42
  /* Don't use native buttons on iOS */
43
- input[type=submit].button { -webkit-appearance: none; }
43
+ input[type=submit].button, button.button { -webkit-appearance: none; }
44
44
 
45
45
  .button.nice {
46
46
  background: #00a6fc image-url("foundation/misc/button-gloss.png") repeat-x 0 -34px;
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: 2.1.4.2
4
+ version: 2.1.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-04 00:00:00.000000000 -08:00
12
+ date: 2012-01-17 00:00:00.000000000 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &2157596900 !ruby/object:Gem::Requirement
17
+ requirement: &2154617100 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '3.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2157596900
25
+ version_requirements: *2154617100
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: jquery-rails
28
- requirement: &2157596400 !ruby/object:Gem::Requirement
28
+ requirement: &2154616600 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2157596400
36
+ version_requirements: *2154616600
37
37
  description: An easy to use, powerful, and flexible framework for building prototypes
38
38
  and production code on any kind of device.
39
39
  email:
@@ -74,7 +74,6 @@ files:
74
74
  - vendor/assets/images/foundation/orbit/rotator-black.png
75
75
  - vendor/assets/images/foundation/orbit/timer-black.png
76
76
  - vendor/assets/javascripts/foundation/app.js
77
- - vendor/assets/javascripts/foundation/forms.jquery.js
78
77
  - vendor/assets/javascripts/foundation/index.js
79
78
  - vendor/assets/javascripts/foundation/jquery.customforms.js
80
79
  - vendor/assets/javascripts/foundation/jquery.orbit-1.3.0.js
@@ -105,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
104
  version: '0'
106
105
  segments:
107
106
  - 0
108
- hash: -3483791448875253269
107
+ hash: 2602047393679453925
109
108
  required_rubygems_version: !ruby/object:Gem::Requirement
110
109
  none: false
111
110
  requirements:
@@ -114,7 +113,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
114
113
  version: '0'
115
114
  segments:
116
115
  - 0
117
- hash: -3483791448875253269
116
+ hash: 2602047393679453925
118
117
  requirements: []
119
118
  rubyforge_project: foundation
120
119
  rubygems_version: 1.6.2
@@ -1,59 +0,0 @@
1
- /**
2
- * jQuery.placeholder - Placeholder plugin for input fields
3
- * Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)
4
- * Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).
5
- * Date: 2008/10/14
6
- *
7
- * @author Blair Mitchelmore
8
- * @version 1.0.1
9
- *
10
- **/
11
- new function($) {
12
- $.fn.placeholder = function(settings) {
13
- settings = settings || {};
14
- var key = settings.dataKey || "placeholderValue";
15
- var attr = settings.attr || "placeholder";
16
- var className = settings.className || "placeholder";
17
- var values = settings.values || [];
18
- var block = settings.blockSubmit || false;
19
- var blank = settings.blankSubmit || false;
20
- var submit = settings.onSubmit || false;
21
- var value = settings.value || "";
22
- var position = settings.cursor_position || 0;
23
-
24
-
25
- return this.filter(":input").each(function(index) {
26
- $.data(this, key, values[index] || $(this).attr(attr));
27
- }).each(function() {
28
- if ($.trim($(this).val()) === "")
29
- $(this).addClass(className).val($.data(this, key));
30
- }).focus(function() {
31
- if ($.trim($(this).val()) === $.data(this, key))
32
- $(this).removeClass(className).val(value)
33
- if ($.fn.setCursorPosition) {
34
- $(this).setCursorPosition(position);
35
- }
36
- }).blur(function() {
37
- if ($.trim($(this).val()) === value)
38
- $(this).addClass(className).val($.data(this, key));
39
- }).each(function(index, elem) {
40
- if (block)
41
- new function(e) {
42
- $(e.form).submit(function() {
43
- return $.trim($(e).val()) != $.data(e, key)
44
- });
45
- }(elem);
46
- else if (blank)
47
- new function(e) {
48
- $(e.form).submit(function() {
49
- if ($.trim($(e).val()) == $.data(e, key))
50
- $(e).removeClass(className).val("");
51
- return true;
52
- });
53
- }(elem);
54
- else if (submit)
55
- new function(e) { $(e.form).submit(submit); }(elem);
56
- });
57
- };
58
- }(jQuery);
59
-