zurb-foundation 4.1.6 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/CONTRIBUTING.md +5 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +7 -0
  4. data/docs/CHANGELOG.md +27 -0
  5. data/docs/Gemfile +2 -0
  6. data/docs/Gemfile.lock +10 -0
  7. data/docs/_sidebar-components.html.erb +1 -0
  8. data/docs/_sidebar.html.erb +1 -0
  9. data/docs/components/alert-boxes.html.erb +8 -3
  10. data/docs/components/block-grid.html.erb +3 -3
  11. data/docs/components/breadcrumbs.html.erb +2 -2
  12. data/docs/components/button-groups.html.erb +2 -2
  13. data/docs/components/buttons.html.erb +3 -3
  14. data/docs/components/clearing.html.erb +7 -6
  15. data/docs/components/custom-forms.html.erb +1 -0
  16. data/docs/components/dropdown-buttons.html.erb +3 -3
  17. data/docs/components/dropdown.html.erb +20 -4
  18. data/docs/components/flex-video.html.erb +3 -3
  19. data/docs/components/forms.html.erb +5 -5
  20. data/docs/components/global.html.erb +235 -3
  21. data/docs/components/grid.html.erb +2 -2
  22. data/docs/components/inline-lists.html.erb +3 -3
  23. data/docs/components/interchange.html.erb +127 -0
  24. data/docs/components/keystrokes.html.erb +3 -3
  25. data/docs/components/kitchen-sink.html.erb +2 -2
  26. data/docs/components/labels.html.erb +3 -3
  27. data/docs/components/orbit.html.erb +120 -8
  28. data/docs/components/pagination.html.erb +5 -5
  29. data/docs/components/panels.html.erb +3 -3
  30. data/docs/components/pricing-tables.html.erb +3 -3
  31. data/docs/components/progress-bars.html.erb +3 -3
  32. data/docs/components/reveal.html.erb +126 -7
  33. data/docs/components/section.html.erb +43 -1
  34. data/docs/components/side-nav.html.erb +3 -3
  35. data/docs/components/split-buttons.html.erb +3 -3
  36. data/docs/components/sub-nav.html.erb +4 -4
  37. data/docs/components/switch.html.erb +3 -3
  38. data/docs/components/tables.html.erb +1 -1
  39. data/docs/components/thumbnails.html.erb +2 -2
  40. data/docs/components/tooltips.html.erb +34 -1
  41. data/docs/components/top-bar.html.erb +109 -30
  42. data/docs/components/type.html.erb +2 -1
  43. data/docs/components/visibility.html.erb +8 -8
  44. data/docs/css/normalize.scss +2 -2
  45. data/docs/css/qunit.css +1 -1
  46. data/docs/img/demos/demo1.jpg +0 -0
  47. data/docs/img/demos/demo2.jpg +0 -0
  48. data/docs/img/demos/demo3.jpg +0 -0
  49. data/docs/img/demos/demo4.jpg +0 -0
  50. data/docs/img/demos/demo5.jpg +0 -0
  51. data/docs/img/demos/interchange/default.jpg +0 -0
  52. data/docs/img/demos/interchange/large.jpg +0 -0
  53. data/docs/img/demos/interchange/med.jpg +0 -0
  54. data/docs/img/demos/interchange/small.jpg +0 -0
  55. data/docs/img/demos/interchange/smallest.jpg +0 -0
  56. data/docs/index.html.erb +14 -5
  57. data/docs/javascript.html.erb +2 -4
  58. data/docs/layout.html.erb +1 -1
  59. data/docs/rails.html.erb +4 -1
  60. data/docs/sass.html.erb +1274 -1023
  61. data/js/foundation/foundation.alerts.js +3 -1
  62. data/js/foundation/foundation.clearing.js +1 -1
  63. data/js/foundation/foundation.dropdown.js +25 -6
  64. data/js/foundation/foundation.forms.js +14 -12
  65. data/js/foundation/foundation.interchange.js +265 -0
  66. data/js/foundation/foundation.joyride.js +16 -3
  67. data/js/foundation/foundation.js +53 -7
  68. data/js/foundation/foundation.magellan.js +5 -3
  69. data/js/foundation/foundation.orbit.js +19 -2
  70. data/js/foundation/foundation.reveal.js +64 -11
  71. data/js/foundation/foundation.section.js +26 -17
  72. data/js/foundation/foundation.tooltips.js +16 -8
  73. data/js/foundation/foundation.topbar.js +98 -46
  74. data/js/foundation/index.js +1 -0
  75. data/lib/foundation/generators/install_generator.rb +2 -2
  76. data/lib/foundation/version.rb +1 -1
  77. data/scss/foundation/_variables.scss +134 -71
  78. data/scss/foundation/components/_alert-boxes.scss +20 -20
  79. data/scss/foundation/components/_block-grid.scss +7 -4
  80. data/scss/foundation/components/_breadcrumbs.scss +3 -3
  81. data/scss/foundation/components/_buttons.scss +5 -3
  82. data/scss/foundation/components/_clearing.scss +12 -6
  83. data/scss/foundation/components/_custom-forms.scss +17 -10
  84. data/scss/foundation/components/_dropdown.scss +6 -6
  85. data/scss/foundation/components/_forms.scss +5 -3
  86. data/scss/foundation/components/_global.scss +63 -30
  87. data/scss/foundation/components/_grid.scss +10 -9
  88. data/scss/foundation/components/_joyride.scss +22 -20
  89. data/scss/foundation/components/_keystrokes.scss +1 -1
  90. data/scss/foundation/components/_orbit.scss +108 -30
  91. data/scss/foundation/components/_reveal.scss +12 -8
  92. data/scss/foundation/components/_section.scss +38 -3
  93. data/scss/foundation/components/_switch.scss +18 -12
  94. data/scss/foundation/components/_thumbs.scss +10 -3
  95. data/scss/foundation/components/_tooltips.scss +11 -11
  96. data/scss/foundation/components/_top-bar.scss +102 -64
  97. data/scss/foundation/components/_type.scss +54 -47
  98. data/templates/project/manifest.rb +1 -0
  99. metadata +11 -4
@@ -6,7 +6,7 @@
6
6
  Foundation.libs.joyride = {
7
7
  name: 'joyride',
8
8
 
9
- version : '4.1.2',
9
+ version : '4.2.0',
10
10
 
11
11
  defaults : {
12
12
  expose : false, // turn on or off the expose feature
@@ -41,7 +41,8 @@
41
41
  modal : '<div class="joyride-modal-bg"></div>',
42
42
  expose : '<div class="joyride-expose-wrapper"></div>',
43
43
  exposeCover: '<div class="joyride-expose-cover"></div>'
44
- }
44
+ },
45
+ exposeAddClass : '' // One or more space-separated class names to be added to exposed element
45
46
  },
46
47
 
47
48
  settings : {},
@@ -565,6 +566,7 @@
565
566
  exposeCover,
566
567
  el,
567
568
  origCSS,
569
+ origClasses,
568
570
  randId = 'expose-'+Math.floor(Math.random()*10000);
569
571
 
570
572
  if (arguments.length > 0 && arguments[0] instanceof $) {
@@ -597,6 +599,8 @@
597
599
  zIndex: el.css('z-index'),
598
600
  position: el.css('position')
599
601
  };
602
+
603
+ origClasses = el.attr('class') == null ? '' : el.attr('class');
600
604
 
601
605
  el.css('z-index',parseInt(expose.css('z-index'))+1);
602
606
 
@@ -605,6 +609,8 @@
605
609
  }
606
610
 
607
611
  el.data('expose-css',origCSS);
612
+ el.data('orig-class', origClasses);
613
+ el.attr('class', origClasses + ' ' + this.settings.exposeAddClass);
608
614
 
609
615
  exposeCover.css({
610
616
  top: el.offset().top,
@@ -626,6 +632,7 @@
626
632
  el,
627
633
  expose ,
628
634
  origCSS,
635
+ origClasses,
629
636
  clearAll = false;
630
637
 
631
638
  if (arguments.length > 0 && arguments[0] instanceof $) {
@@ -671,6 +678,10 @@
671
678
  el.css('position', origCSS.position);
672
679
  }
673
680
  }
681
+
682
+ origClasses = el.data('orig-class');
683
+ el.attr('class', origClasses);
684
+ el.removeData('orig-classes');
674
685
 
675
686
  el.removeData('expose');
676
687
  el.removeData('expose-z-index');
@@ -826,6 +837,8 @@
826
837
  $('.joyride-tip-guide, .joyride-modal-bg').remove();
827
838
  clearTimeout(this.settings.automate);
828
839
  this.settings = {};
829
- }
840
+ },
841
+
842
+ reflow : function () {}
830
843
  };
831
844
  }(Foundation.zj, this, this.document));
@@ -29,6 +29,48 @@ if (typeof jQuery === "undefined" &&
29
29
  (function ($, window, document, undefined) {
30
30
  'use strict';
31
31
 
32
+ /*
33
+ matchMedia() polyfill - Test a CSS media
34
+ type/query in JS. Authors & copyright (c) 2012:
35
+ Scott Jehl, Paul Irish, Nicholas Zakas.
36
+ Dual MIT/BSD license
37
+
38
+ https://github.com/paulirish/matchMedia.js
39
+ */
40
+
41
+ window.matchMedia = window.matchMedia || (function( doc, undefined ) {
42
+
43
+ "use strict";
44
+
45
+ var bool,
46
+ docElem = doc.documentElement,
47
+ refNode = docElem.firstElementChild || docElem.firstChild,
48
+ // fakeBody required for <FF4 when executed in <head>
49
+ fakeBody = doc.createElement( "body" ),
50
+ div = doc.createElement( "div" );
51
+
52
+ div.id = "mq-test-1";
53
+ div.style.cssText = "position:absolute;top:-100em";
54
+ fakeBody.style.background = "none";
55
+ fakeBody.appendChild(div);
56
+
57
+ return function(q){
58
+
59
+ div.innerHTML = "&shy;<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
60
+
61
+ docElem.insertBefore( fakeBody, refNode );
62
+ bool = div.offsetWidth === 42;
63
+ docElem.removeChild( fakeBody );
64
+
65
+ return {
66
+ matches: bool,
67
+ media: q
68
+ };
69
+
70
+ };
71
+
72
+ }( document ));
73
+
32
74
  // add dusty browser stuff
33
75
  if (!Array.prototype.filter) {
34
76
  Array.prototype.filter = function(fun /*, thisp */) {
@@ -124,9 +166,8 @@ if (typeof jQuery === "undefined" &&
124
166
  window.Foundation = {
125
167
  name : 'Foundation',
126
168
 
127
- version : '4.1.5',
169
+ version : '4.2.0',
128
170
 
129
- // global Foundation cache object
130
171
  cache : {},
131
172
 
132
173
  init : function (scope, libraries, method, options, response, /* internal */ nc) {
@@ -145,7 +186,7 @@ if (typeof jQuery === "undefined" &&
145
186
  // set foundation global scope
146
187
  this.scope = scope || this.scope;
147
188
 
148
- if (libraries && typeof libraries === 'string') {
189
+ if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
149
190
  if (/off/i.test(libraries)) return this.off();
150
191
 
151
192
  library_arr = libraries.split(' ');
@@ -156,6 +197,8 @@ if (typeof jQuery === "undefined" &&
156
197
  }
157
198
  }
158
199
  } else {
200
+ if (/reflow/i.test(libraries)) args[1] = 'reflow';
201
+
159
202
  for (var lib in this.libs) {
160
203
  responses.push(this.init_lib(lib, args));
161
204
  }
@@ -189,6 +232,9 @@ if (typeof jQuery === "undefined" &&
189
232
  this.patch(this.libs[lib]);
190
233
  return this.libs[lib].init.apply(this.libs[lib], args);
191
234
  }
235
+ else {
236
+ return function () {};
237
+ }
192
238
  }.bind(this), lib);
193
239
  },
194
240
 
@@ -224,12 +270,12 @@ if (typeof jQuery === "undefined" &&
224
270
  var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
225
271
 
226
272
  if (!length) {
227
- length = Math.floor(Math.random() * chars.length);
273
+ length = Math.floor(Math.random() * chars.length);
228
274
  }
229
275
 
230
276
  var str = '';
231
277
  for (var i = 0; i < length; i++) {
232
- str += chars[Math.floor(Math.random() * chars.length)];
278
+ str += chars[Math.floor(Math.random() * chars.length)];
233
279
  }
234
280
  return str;
235
281
  },
@@ -381,9 +427,9 @@ if (typeof jQuery === "undefined" &&
381
427
  },
382
428
 
383
429
  zj : function () {
384
- try {
430
+ if (typeof Zepto !== 'undefined') {
385
431
  return Zepto;
386
- } catch (e) {
432
+ } else {
387
433
  return jQuery;
388
434
  }
389
435
  }()
@@ -6,7 +6,7 @@
6
6
  Foundation.libs.magellan = {
7
7
  name : 'magellan',
8
8
 
9
- version : '4.0.0',
9
+ version : '4.2.0',
10
10
 
11
11
  settings : {
12
12
  activeClass: 'active'
@@ -54,7 +54,7 @@
54
54
  .on('update-position.fndtn.magellan', function(){
55
55
  var $el = $(this);
56
56
  // $el.data("magellan-fixed-position","");
57
- //$el.data("magellan-top-offset", "");
57
+ // $el.data("magellan-top-offset", "");
58
58
  })
59
59
  .trigger('update-position');
60
60
 
@@ -125,6 +125,8 @@
125
125
 
126
126
  off : function () {
127
127
  $(this.scope).off('.fndtn.magellan');
128
- }
128
+ },
129
+
130
+ reflow : function () {}
129
131
  };
130
132
  }(Foundation.zj, this, this.document));
@@ -6,10 +6,12 @@
6
6
  Foundation.libs.orbit = {
7
7
  name: 'orbit',
8
8
 
9
- version: '4.1.0',
9
+ version: '4.2.0',
10
10
 
11
11
  settings: {
12
12
  timer_speed: 10000,
13
+ pause_on_hover: true,
14
+ resume_on_mouseout: false,
13
15
  animation_speed: 500,
14
16
  bullets: true,
15
17
  stack_on_small: true,
@@ -39,6 +41,11 @@
39
41
  $.extend(true, self.settings, method);
40
42
  }
41
43
 
44
+ if ($(scope).is('[data-orbit]')) {
45
+ var scoped_self = $.extend(true, {}, self);
46
+ scoped_self._init(idx, el);
47
+ }
48
+
42
49
  $('[data-orbit]', scope).each(function(idx, el) {
43
50
  var scoped_self = $.extend(true, {}, self);
44
51
  scoped_self._init(idx, el);
@@ -119,7 +126,7 @@
119
126
  $slides_container.append($slides.first().clone().attr('data-orbit-slide',''));
120
127
  $slides_container.prepend($slides.last().clone().attr('data-orbit-slide',''));
121
128
  // Make the first "real" slide active
122
- $slides_container.css('marginLeft', '-100%');
129
+ $slides_container.css(Foundation.rtl ? 'marginRight' : 'marginLeft', '-100%');
123
130
  $slides.first().addClass(self.settings.active_slide_class);
124
131
 
125
132
  self._init_events($slides_container);
@@ -161,6 +168,16 @@
161
168
  });
162
169
 
163
170
  $container
171
+ .on('mouseenter.fndtn.orbit', function(e) {
172
+ if (self.settings.pause_on_hover) {
173
+ self._stop_timer($slides_container);
174
+ }
175
+ })
176
+ .on('mouseleave.fndtn.orbit', function(e) {
177
+ if (self.settings.resume_on_mouseout) {
178
+ self._start_timer($slides_container);
179
+ }
180
+ })
164
181
  .on('orbit:after-slide-change.fndtn.orbit', function(e, orbit) {
165
182
  var $slide_number = $container.find('.' + self.settings.slide_number_class);
166
183
 
@@ -6,7 +6,7 @@
6
6
  Foundation.libs.reveal = {
7
7
  name: 'reveal',
8
8
 
9
- version : '4.1.3',
9
+ version : '4.2.0',
10
10
 
11
11
  locked : false,
12
12
 
@@ -14,6 +14,7 @@
14
14
  animation: 'fadeAndPop',
15
15
  animationSpeed: 250,
16
16
  closeOnBackgroundClick: true,
17
+ closeOnEsc: true,
17
18
  dismissModalClass: 'close-reveal-modal',
18
19
  bgClass: 'reveal-modal-bg',
19
20
  open: function(){},
@@ -36,7 +37,6 @@
36
37
  },
37
38
 
38
39
  init : function (scope, method, options) {
39
- this.scope = scope || this.scope;
40
40
  Foundation.inherit(this, 'data_options delay');
41
41
 
42
42
  if (typeof method === 'object') {
@@ -61,9 +61,20 @@
61
61
  .off('.fndtn.reveal')
62
62
  .on('click.fndtn.reveal', '[data-reveal-id]', function (e) {
63
63
  e.preventDefault();
64
+
64
65
  if (!self.locked) {
66
+ var element = $(this),
67
+ ajax = element.data('reveal-ajax');
68
+
65
69
  self.locked = true;
66
- self.open.call(self, $(this));
70
+
71
+ if (typeof ajax === 'undefined') {
72
+ self.open.call(self, element);
73
+ } else {
74
+ var url = ajax === true ? element.attr('href') : ajax;
75
+
76
+ self.open.call(self, element, {url: url});
77
+ }
67
78
  }
68
79
  })
69
80
  .on('click.fndtn.reveal touchend.click.fndtn.reveal', this.close_targets(), function (e) {
@@ -85,12 +96,26 @@
85
96
  .on('closed.fndtn.reveal', '.reveal-modal', this.settings.closed)
86
97
  .on('closed.fndtn.reveal', '.reveal-modal', this.close_video);
87
98
 
99
+ $( 'body' ).bind( 'keyup.reveal', function ( event ) {
100
+ var open_modal = $('.reveal-modal.open'),
101
+ settings = $.extend({}, self.settings, self.data_options(open_modal));
102
+ if ( event.which === 27 && settings.closeOnEsc) { // 27 is the keycode for the Escape key
103
+ open_modal.foundation('reveal', 'close');
104
+ }
105
+ });
106
+
88
107
  return true;
89
108
  },
90
109
 
91
- open : function (target) {
110
+ open : function (target, ajax_settings) {
92
111
  if (target) {
93
- var modal = $('#' + target.data('reveal-id'));
112
+ if (typeof target.selector !== 'undefined') {
113
+ var modal = $('#' + target.data('reveal-id'));
114
+ } else {
115
+ var modal = $(this.scope);
116
+
117
+ ajax_settings = target;
118
+ }
94
119
  } else {
95
120
  var modal = $(this.scope);
96
121
  }
@@ -108,14 +133,36 @@
108
133
  if (open_modal.length < 1) {
109
134
  this.toggle_bg(modal);
110
135
  }
111
- this.hide(open_modal, this.settings.css.close);
112
- this.show(modal, this.settings.css.open);
136
+
137
+ if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {
138
+ this.hide(open_modal, this.settings.css.close);
139
+ this.show(modal, this.settings.css.open);
140
+ } else {
141
+ var self = this,
142
+ old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;
143
+
144
+ $.extend(ajax_settings, {
145
+ success: function (data, textStatus, jqXHR) {
146
+ if ( $.isFunction(old_success) ) {
147
+ old_success(data, textStatus, jqXHR);
148
+ }
149
+
150
+ modal.html(data);
151
+ $(modal).foundation('section', 'reflow');
152
+
153
+ self.hide(open_modal, self.settings.css.close);
154
+ self.show(modal, self.settings.css.open);
155
+ }
156
+ });
157
+
158
+ $.ajax(ajax_settings);
159
+ }
113
160
  }
114
161
  },
115
162
 
116
163
  close : function (modal) {
117
164
 
118
- var modal = modal || $(this.scope),
165
+ var modal = modal && modal.length ? modal : $(this.scope),
119
166
  open_modals = $('.reveal-modal.open');
120
167
 
121
168
  if (open_modals.length > 0) {
@@ -245,7 +292,7 @@
245
292
  if (iframe.length > 0) {
246
293
  iframe.attr('data-src', iframe[0].src);
247
294
  iframe.attr('src', 'about:blank');
248
- video.fadeOut(100).hide();
295
+ video.hide();
249
296
  }
250
297
  },
251
298
 
@@ -257,8 +304,12 @@
257
304
  var data_src = iframe.attr('data-src');
258
305
  if (typeof data_src === 'string') {
259
306
  iframe[0].src = iframe.attr('data-src');
307
+ } else {
308
+ var src = iframe[0].src;
309
+ iframe[0].src = undefined;
310
+ iframe[0].src = src;
260
311
  }
261
- video.show().fadeIn(100);
312
+ video.show();
262
313
  }
263
314
  },
264
315
 
@@ -272,6 +323,8 @@
272
323
 
273
324
  off : function () {
274
325
  $(this.scope).off('.fndtn.reveal');
275
- }
326
+ },
327
+
328
+ reflow : function () {}
276
329
  };
277
330
  }(Foundation.zj, this, this.document));
@@ -6,7 +6,7 @@
6
6
  Foundation.libs.section = {
7
7
  name: 'section',
8
8
 
9
- version : '4.1.3',
9
+ version : '4.2.0',
10
10
 
11
11
  settings : {
12
12
  deep_linking: false,
@@ -44,10 +44,12 @@
44
44
  $(this.scope)
45
45
  .on('click.fndtn.section', '[data-section] .title, [data-section] [data-section-title]', function (e) {
46
46
  var $this = $(this),
47
- section = $this.closest(self.settings.section_selector);
47
+ section = $this.closest(self.settings.region_selector);
48
48
 
49
- self.toggle_active.call(this, e, self);
50
- self.reflow();
49
+ if (section.children(self.settings.content_selector).length > 0) {
50
+ self.toggle_active.call(this, e, self);
51
+ self.reflow();
52
+ }
51
53
  });
52
54
 
53
55
  $(window)
@@ -197,7 +199,7 @@
197
199
  self.position_titles($this);
198
200
 
199
201
  if ( (self.is_horizontal_nav($this) && !self.small($this))
200
- || self.is_vertical_tabs($this)) {
202
+ || self.is_vertical_tabs($this) && !self.small($this)) {
201
203
  self.position_content($this);
202
204
  } else {
203
205
  self.position_content($this, false);
@@ -229,7 +231,6 @@
229
231
  var hash = window.location.hash.substring(1),
230
232
  sections = $('[data-section]'),
231
233
  self = this;
232
-
233
234
  sections.each(function () {
234
235
  var section = $(this),
235
236
  settings = $.extend({}, self.settings, self.data_options(section));
@@ -239,12 +240,21 @@
239
240
  .children(self.settings.region_selector)
240
241
  .attr('style', '')
241
242
  .removeClass('active');
242
- regions
243
- .map(function () {
244
- return $(this).children('.content[data-slug="' + hash + '"], [data-section-content][data-slug="' + hash + '"]');
245
- })
246
- .parent()
247
- .addClass('active');
243
+
244
+ var hash_regions = regions.map(function () {
245
+ var content = $(self.settings.content_selector, this),
246
+ content_slug = content.data('slug');
247
+
248
+ if (new RegExp(content_slug, 'i').test(hash))
249
+ return content;
250
+ });
251
+
252
+
253
+ var count = hash_regions.length;
254
+
255
+ for (var i = count - 1; i >= 0; i--) {
256
+ $(hash_regions[i]).parent().addClass('active');
257
+ }
248
258
  }
249
259
  });
250
260
  },
@@ -310,6 +320,7 @@
310
320
 
311
321
  title_width = self.outerWidth(title);
312
322
  content_width = self.outerWidth(section) - title_width;
323
+
313
324
  if (content_width < content_min_width) {
314
325
  content_min_width = content_width;
315
326
  }
@@ -335,9 +346,6 @@
335
346
  content.css('maxWidth', content_min_width - 2);
336
347
  });
337
348
 
338
- // Adjust the outer section container width to match
339
- // the width of the title and content
340
- section.css('maxWidth', title_width + content_min_width);
341
349
  } else {
342
350
  regions.each(function () {
343
351
  var region = $(this),
@@ -356,9 +364,9 @@
356
364
 
357
365
  // temporary work around for Zepto outerheight calculation issues.
358
366
  if (typeof Zepto === 'function') {
359
- section.height(this.outerHeight(titles.first()));
367
+ section.height(this.outerHeight($(titles[0])));
360
368
  } else {
361
- section.height(this.outerHeight(titles.first()) - 2);
369
+ section.height(this.outerHeight($(titles[0])) - 2);
362
370
  }
363
371
  }
364
372
  }
@@ -383,6 +391,7 @@
383
391
 
384
392
  small : function (el) {
385
393
  var settings = $.extend({}, this.settings, this.data_options(el));
394
+
386
395
  if (this.is_horizontal_tabs(el)) {
387
396
  return false;
388
397
  }