foundation-rails 5.5.2.1 → 5.5.3.1
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.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/bower.json +2 -2
- data/lib/foundation/rails/version.rb +1 -1
- data/vendor/assets/javascripts/foundation.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.abide.js +42 -24
- data/vendor/assets/javascripts/foundation/foundation.accordion.js +39 -2
- data/vendor/assets/javascripts/foundation/foundation.alert.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.clearing.js +5 -5
- data/vendor/assets/javascripts/foundation/foundation.dropdown.js +17 -12
- data/vendor/assets/javascripts/foundation/foundation.equalizer.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.interchange.js +3 -2
- data/vendor/assets/javascripts/foundation/foundation.joyride.js +53 -50
- data/vendor/assets/javascripts/foundation/foundation.js +24 -17
- data/vendor/assets/javascripts/foundation/foundation.magellan.js +4 -5
- data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +75 -2
- data/vendor/assets/javascripts/foundation/foundation.orbit.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.reveal.js +40 -16
- data/vendor/assets/javascripts/foundation/foundation.slider.js +21 -6
- data/vendor/assets/javascripts/foundation/foundation.tab.js +25 -27
- data/vendor/assets/javascripts/foundation/foundation.tooltip.js +24 -15
- data/vendor/assets/javascripts/foundation/foundation.topbar.js +11 -11
- data/vendor/assets/stylesheets/foundation.scss +0 -2
- data/vendor/assets/stylesheets/foundation/_functions.scss +2 -2
- data/vendor/assets/stylesheets/foundation/_settings.scss +6 -3
- data/vendor/assets/stylesheets/foundation/components/_accordion.scss +6 -2
- data/vendor/assets/stylesheets/foundation/components/_breadcrumbs.scss +2 -1
- data/vendor/assets/stylesheets/foundation/components/_button-groups.scss +1 -0
- data/vendor/assets/stylesheets/foundation/components/_buttons.scss +18 -13
- data/vendor/assets/stylesheets/foundation/components/_dropdown.scss +3 -2
- data/vendor/assets/stylesheets/foundation/components/_forms.scss +21 -23
- data/vendor/assets/stylesheets/foundation/components/_global.scss +73 -9
- data/vendor/assets/stylesheets/foundation/components/_grid.scss +15 -15
- data/vendor/assets/stylesheets/foundation/components/_inline-lists.scss +2 -1
- data/vendor/assets/stylesheets/foundation/components/_joyride.scss +1 -1
- data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +92 -4
- data/vendor/assets/stylesheets/foundation/components/_pagination.scss +1 -0
- data/vendor/assets/stylesheets/foundation/components/_progress-bars.scss +6 -0
- data/vendor/assets/stylesheets/foundation/components/_range-slider.scss +2 -2
- data/vendor/assets/stylesheets/foundation/components/_reveal.scss +3 -0
- data/vendor/assets/stylesheets/foundation/components/_tabs.scss +1 -1
- data/vendor/assets/stylesheets/foundation/components/_tooltips.scss +1 -1
- data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +11 -3
- data/vendor/assets/stylesheets/foundation/components/_type.scss +73 -12
- data/vendor/assets/stylesheets/foundation/components/_visibility.scss +8 -75
- metadata +3 -4
@@ -1,7 +1,7 @@
|
|
1
1
|
/*
|
2
2
|
* Foundation Responsive Library
|
3
3
|
* http://foundation.zurb.com
|
4
|
-
* Copyright
|
4
|
+
* Copyright 2015, ZURB
|
5
5
|
* Free to use under the MIT license.
|
6
6
|
* http://www.opensource.org/licenses/mit-license.php
|
7
7
|
*/
|
@@ -10,14 +10,12 @@
|
|
10
10
|
'use strict';
|
11
11
|
|
12
12
|
var header_helpers = function (class_array) {
|
13
|
-
var i = class_array.length;
|
14
13
|
var head = $('head');
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
head.append('<meta class="' + class_array[i] + '" />');
|
14
|
+
head.prepend($.map(class_array, function (class_name) {
|
15
|
+
if (head.has('.' + class_name).length === 0) {
|
16
|
+
return '<meta class="' + class_name + '" />';
|
19
17
|
}
|
20
|
-
}
|
18
|
+
}));
|
21
19
|
};
|
22
20
|
|
23
21
|
header_helpers([
|
@@ -290,21 +288,30 @@
|
|
290
288
|
return string;
|
291
289
|
}
|
292
290
|
|
291
|
+
function MediaQuery(selector) {
|
292
|
+
this.selector = selector;
|
293
|
+
this.query = '';
|
294
|
+
}
|
295
|
+
|
296
|
+
MediaQuery.prototype.toString = function () {
|
297
|
+
return this.query || (this.query = S(this.selector).css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''));
|
298
|
+
};
|
299
|
+
|
293
300
|
window.Foundation = {
|
294
301
|
name : 'Foundation',
|
295
302
|
|
296
|
-
version : '5.5.
|
303
|
+
version : '5.5.3',
|
297
304
|
|
298
305
|
media_queries : {
|
299
|
-
'small' :
|
300
|
-
'small-only' :
|
301
|
-
'medium' :
|
302
|
-
'medium-only' :
|
303
|
-
'large' :
|
304
|
-
'large-only' :
|
305
|
-
'xlarge' :
|
306
|
-
'xlarge-only' :
|
307
|
-
'xxlarge' :
|
306
|
+
'small' : new MediaQuery('.foundation-mq-small'),
|
307
|
+
'small-only' : new MediaQuery('.foundation-mq-small-only'),
|
308
|
+
'medium' : new MediaQuery('.foundation-mq-medium'),
|
309
|
+
'medium-only' : new MediaQuery('.foundation-mq-medium-only'),
|
310
|
+
'large' : new MediaQuery('.foundation-mq-large'),
|
311
|
+
'large-only' : new MediaQuery('.foundation-mq-large-only'),
|
312
|
+
'xlarge' : new MediaQuery('.foundation-mq-xlarge'),
|
313
|
+
'xlarge-only' : new MediaQuery('.foundation-mq-xlarge-only'),
|
314
|
+
'xxlarge' : new MediaQuery('.foundation-mq-xxlarge')
|
308
315
|
},
|
309
316
|
|
310
317
|
stylesheet : $('<style></style>').appendTo('head')[0].sheet,
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs['magellan-expedition'] = {
|
5
5
|
name : 'magellan-expedition',
|
6
6
|
|
7
|
-
version : '5.5.
|
7
|
+
version : '5.5.3',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
active_class : 'active',
|
@@ -59,11 +59,10 @@
|
|
59
59
|
'scrollTop' : scroll_top
|
60
60
|
}, settings.duration, settings.easing, function () {
|
61
61
|
if (history.pushState) {
|
62
|
-
|
62
|
+
history.pushState(null, null, anchor.pathname + anchor.search + '#' + hash);
|
63
|
+
} else {
|
64
|
+
location.hash = anchor.pathname + anchor.search + '#' + hash;
|
63
65
|
}
|
64
|
-
else {
|
65
|
-
location.hash = anchor.pathname + '#' + hash;
|
66
|
-
}
|
67
66
|
});
|
68
67
|
}
|
69
68
|
})
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.offcanvas = {
|
5
5
|
name : 'offcanvas',
|
6
6
|
|
7
|
-
version : '5.5.
|
7
|
+
version : '5.5.3',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
open_method : 'move',
|
@@ -20,16 +20,22 @@
|
|
20
20
|
S = self.S,
|
21
21
|
move_class = '',
|
22
22
|
right_postfix = '',
|
23
|
-
left_postfix = ''
|
23
|
+
left_postfix = '',
|
24
|
+
top_postfix = '',
|
25
|
+
bottom_postfix = '';
|
24
26
|
|
25
27
|
if (this.settings.open_method === 'move') {
|
26
28
|
move_class = 'move-';
|
27
29
|
right_postfix = 'right';
|
28
30
|
left_postfix = 'left';
|
31
|
+
top_postfix = 'top';
|
32
|
+
bottom_postfix = 'bottom';
|
29
33
|
} else if (this.settings.open_method === 'overlap_single') {
|
30
34
|
move_class = 'offcanvas-overlap-';
|
31
35
|
right_postfix = 'right';
|
32
36
|
left_postfix = 'left';
|
37
|
+
top_postfix = 'top';
|
38
|
+
bottom_postfix = 'bottom';
|
33
39
|
} else if (this.settings.open_method === 'overlap') {
|
34
40
|
move_class = 'offcanvas-overlap';
|
35
41
|
}
|
@@ -58,6 +64,7 @@
|
|
58
64
|
}
|
59
65
|
$('.left-off-canvas-toggle').attr('aria-expanded', 'true');
|
60
66
|
})
|
67
|
+
//end of left canvas
|
61
68
|
.on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
|
62
69
|
self.click_toggle_class(e, move_class + left_postfix);
|
63
70
|
if (self.settings.open_method !== 'overlap') {
|
@@ -81,6 +88,55 @@
|
|
81
88
|
}
|
82
89
|
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
83
90
|
})
|
91
|
+
//end of right canvas
|
92
|
+
.on('click.fndtn.offcanvas', '.top-off-canvas-toggle', function (e) {
|
93
|
+
self.click_toggle_class(e, move_class + bottom_postfix);
|
94
|
+
if (self.settings.open_method !== 'overlap') {
|
95
|
+
S('.top-submenu').removeClass(move_class + bottom_postfix);
|
96
|
+
}
|
97
|
+
$('.top-off-canvas-toggle').attr('aria-expanded', 'true');
|
98
|
+
})
|
99
|
+
.on('click.fndtn.offcanvas', '.top-off-canvas-menu a', function (e) {
|
100
|
+
var settings = self.get_settings(e);
|
101
|
+
var parent = S(this).parent();
|
102
|
+
|
103
|
+
if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) {
|
104
|
+
self.hide.call(self, move_class + bottom_postfix, self.get_wrapper(e));
|
105
|
+
parent.parent().removeClass(move_class + bottom_postfix);
|
106
|
+
} else if (S(this).parent().hasClass('has-submenu')) {
|
107
|
+
e.preventDefault();
|
108
|
+
S(this).siblings('.top-submenu').toggleClass(move_class + bottom_postfix);
|
109
|
+
} else if (parent.hasClass('back')) {
|
110
|
+
e.preventDefault();
|
111
|
+
parent.parent().removeClass(move_class + bottom_postfix);
|
112
|
+
}
|
113
|
+
$('.top-off-canvas-toggle').attr('aria-expanded', 'true');
|
114
|
+
})
|
115
|
+
//end of top canvas
|
116
|
+
.on('click.fndtn.offcanvas', '.bottom-off-canvas-toggle', function (e) {
|
117
|
+
self.click_toggle_class(e, move_class + top_postfix);
|
118
|
+
if (self.settings.open_method !== 'overlap') {
|
119
|
+
S('.bottom-submenu').removeClass(move_class + top_postfix);
|
120
|
+
}
|
121
|
+
$('.bottom-off-canvas-toggle').attr('aria-expanded', 'true');
|
122
|
+
})
|
123
|
+
.on('click.fndtn.offcanvas', '.bottom-off-canvas-menu a', function (e) {
|
124
|
+
var settings = self.get_settings(e);
|
125
|
+
var parent = S(this).parent();
|
126
|
+
|
127
|
+
if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) {
|
128
|
+
self.hide.call(self, move_class + top_postfix, self.get_wrapper(e));
|
129
|
+
parent.parent().removeClass(move_class + top_postfix);
|
130
|
+
} else if (S(this).parent().hasClass('has-submenu')) {
|
131
|
+
e.preventDefault();
|
132
|
+
S(this).siblings('.bottom-submenu').toggleClass(move_class + top_postfix);
|
133
|
+
} else if (parent.hasClass('back')) {
|
134
|
+
e.preventDefault();
|
135
|
+
parent.parent().removeClass(move_class + top_postfix);
|
136
|
+
}
|
137
|
+
$('.bottom-off-canvas-toggle').attr('aria-expanded', 'true');
|
138
|
+
})
|
139
|
+
//end of bottom
|
84
140
|
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
85
141
|
self.click_remove_class(e, move_class + left_postfix);
|
86
142
|
S('.right-submenu').removeClass(move_class + left_postfix);
|
@@ -97,6 +153,23 @@
|
|
97
153
|
self.click_remove_class(e, move_class + right_postfix);
|
98
154
|
$('.right-off-canvas-toggle').attr('aria-expanded', 'false');
|
99
155
|
}
|
156
|
+
})
|
157
|
+
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
158
|
+
self.click_remove_class(e, move_class + top_postfix);
|
159
|
+
S('.bottom-submenu').removeClass(move_class + top_postfix);
|
160
|
+
if (bottom_postfix) {
|
161
|
+
self.click_remove_class(e, move_class + bottom_postfix);
|
162
|
+
S('.top-submenu').removeClass(move_class + top_postfix);
|
163
|
+
}
|
164
|
+
$('.bottom-off-canvas-toggle').attr('aria-expanded', 'true');
|
165
|
+
})
|
166
|
+
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
167
|
+
self.click_remove_class(e, move_class + top_postfix);
|
168
|
+
$('.top-off-canvas-toggle').attr('aria-expanded', 'false');
|
169
|
+
if (bottom_postfix) {
|
170
|
+
self.click_remove_class(e, move_class + bottom_postfix);
|
171
|
+
$('.bottom-off-canvas-toggle').attr('aria-expanded', 'false');
|
172
|
+
}
|
100
173
|
});
|
101
174
|
},
|
102
175
|
|
@@ -1,10 +1,12 @@
|
|
1
1
|
;(function ($, window, document, undefined) {
|
2
2
|
'use strict';
|
3
3
|
|
4
|
+
var openModals = [];
|
5
|
+
|
4
6
|
Foundation.libs.reveal = {
|
5
7
|
name : 'reveal',
|
6
8
|
|
7
|
-
version : '5.5.
|
9
|
+
version : '5.5.3',
|
8
10
|
|
9
11
|
locked : false,
|
10
12
|
|
@@ -155,7 +157,7 @@
|
|
155
157
|
settings = settings || this.settings;
|
156
158
|
|
157
159
|
|
158
|
-
if (modal.hasClass('open') && target.attr('data-reveal-id') == modal.attr('id')) {
|
160
|
+
if (modal.hasClass('open') && target !== undefined && target.attr('data-reveal-id') == modal.attr('id')) {
|
159
161
|
return self.close(modal);
|
160
162
|
}
|
161
163
|
|
@@ -188,16 +190,25 @@
|
|
188
190
|
};
|
189
191
|
}
|
190
192
|
|
191
|
-
|
192
|
-
if
|
193
|
-
if
|
193
|
+
var openModal = function() {
|
194
|
+
if(open_modal.length > 0) {
|
195
|
+
if(settings.multiple_opened) {
|
194
196
|
self.to_back(open_modal);
|
195
197
|
} else {
|
196
198
|
self.hide(open_modal, settings.css.close);
|
197
199
|
}
|
198
200
|
}
|
199
201
|
|
200
|
-
|
202
|
+
// bl: add the open_modal that isn't already in the background to the openModals array
|
203
|
+
if(settings.multiple_opened) {
|
204
|
+
openModals.push(modal);
|
205
|
+
}
|
206
|
+
|
207
|
+
self.show(modal, settings.css.open);
|
208
|
+
};
|
209
|
+
|
210
|
+
if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {
|
211
|
+
openModal();
|
201
212
|
} else {
|
202
213
|
var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;
|
203
214
|
$.extend(ajax_settings, {
|
@@ -218,14 +229,7 @@
|
|
218
229
|
self.S(modal).foundation('section', 'reflow');
|
219
230
|
self.S(modal).children().foundation();
|
220
231
|
|
221
|
-
|
222
|
-
if (settings.multiple_opened) {
|
223
|
-
self.to_back(open_modal);
|
224
|
-
} else {
|
225
|
-
self.hide(open_modal, settings.css.close);
|
226
|
-
}
|
227
|
-
}
|
228
|
-
self.show(modal, settings.css.open);
|
232
|
+
openModal();
|
229
233
|
}
|
230
234
|
});
|
231
235
|
|
@@ -263,8 +267,27 @@
|
|
263
267
|
}
|
264
268
|
|
265
269
|
if (settings.multiple_opened) {
|
270
|
+
var isCurrent = modal.is(':not(.toback)');
|
266
271
|
self.hide(modal, settings.css.close, settings);
|
267
|
-
|
272
|
+
if(isCurrent) {
|
273
|
+
// remove the last modal since it is now closed
|
274
|
+
openModals.pop();
|
275
|
+
} else {
|
276
|
+
// if this isn't the current modal, then find it in the array and remove it
|
277
|
+
openModals = $.grep(openModals, function(elt) {
|
278
|
+
var isThis = elt[0]===modal[0];
|
279
|
+
if(isThis) {
|
280
|
+
// since it's not currently in the front, put it in the front now that it is hidden
|
281
|
+
// so that if it's re-opened, it won't be .toback
|
282
|
+
self.to_front(modal);
|
283
|
+
}
|
284
|
+
return !isThis;
|
285
|
+
});
|
286
|
+
}
|
287
|
+
// finally, show the next modal in the stack, if there is one
|
288
|
+
if(openModals.length>0) {
|
289
|
+
self.to_front(openModals[openModals.length - 1]);
|
290
|
+
}
|
268
291
|
} else {
|
269
292
|
self.hide(open_modals, settings.css.close, settings);
|
270
293
|
}
|
@@ -337,8 +360,9 @@
|
|
337
360
|
}, settings.animation_speed / 2);
|
338
361
|
}
|
339
362
|
|
363
|
+
css.top = $(window).scrollTop() + el.data('css-top') + 'px';
|
364
|
+
|
340
365
|
if (animData.fade) {
|
341
|
-
css.top = $(window).scrollTop() + el.data('css-top') + 'px';
|
342
366
|
var end_css = {opacity: 1};
|
343
367
|
|
344
368
|
return setTimeout(function () {
|
@@ -4,13 +4,13 @@
|
|
4
4
|
Foundation.libs.slider = {
|
5
5
|
name : 'slider',
|
6
6
|
|
7
|
-
version : '5.5.
|
7
|
+
version : '5.5.3',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
start : 0,
|
11
11
|
end : 100,
|
12
12
|
step : 1,
|
13
|
-
precision :
|
13
|
+
precision : 2,
|
14
14
|
initial : null,
|
15
15
|
display_selector : '',
|
16
16
|
vertical : false,
|
@@ -28,7 +28,6 @@
|
|
28
28
|
|
29
29
|
events : function () {
|
30
30
|
var self = this;
|
31
|
-
|
32
31
|
$(this.scope)
|
33
32
|
.off('.slider')
|
34
33
|
.on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider',
|
@@ -53,6 +52,23 @@
|
|
53
52
|
}
|
54
53
|
})
|
55
54
|
.on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) {
|
55
|
+
if(!self.cache.active) {
|
56
|
+
// if the user has just clicked into the slider without starting to drag the handle
|
57
|
+
var slider = $(e.target).attr('role') === 'slider' ? $(e.target) : $(e.target).closest('.range-slider').find("[role='slider']");
|
58
|
+
|
59
|
+
if (slider.length && (!slider.parent().hasClass('disabled') && !slider.parent().attr('disabled'))) {
|
60
|
+
self.set_active_slider(slider);
|
61
|
+
if ($.data(self.cache.active[0], 'settings').vertical) {
|
62
|
+
var scroll_offset = 0;
|
63
|
+
if (!e.pageY) {
|
64
|
+
scroll_offset = window.scrollY;
|
65
|
+
}
|
66
|
+
self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset);
|
67
|
+
} else {
|
68
|
+
self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x'));
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
56
72
|
self.remove_active_slider();
|
57
73
|
})
|
58
74
|
.on('change.fndtn.slider', function (e) {
|
@@ -72,9 +88,8 @@
|
|
72
88
|
|
73
89
|
if (settings.display_selector != '') {
|
74
90
|
$(settings.display_selector).each(function(){
|
75
|
-
if (this.
|
76
|
-
$(this).change(function(){
|
77
|
-
// is there a better way to do this?
|
91
|
+
if ($(this).attr('value')) {
|
92
|
+
$(this).off('change').on('change', function () {
|
78
93
|
slider.foundation("slider", "set_value", $(this).val());
|
79
94
|
});
|
80
95
|
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.tab = {
|
5
5
|
name : 'tab',
|
6
6
|
|
7
|
-
version : '5.5.
|
7
|
+
version : '5.5.3',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
active_class : 'active',
|
@@ -20,16 +20,12 @@
|
|
20
20
|
var self = this,
|
21
21
|
S = this.S;
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
// store the initial href, which is used to allow correct behaviour of the
|
31
|
-
// browser back button when deep linking is turned on.
|
32
|
-
self.entry_location = window.location.href;
|
23
|
+
// Store the default active tabs which will be referenced when the
|
24
|
+
// location hash is absent, as in the case of navigating the tabs and
|
25
|
+
// returning to the first viewing via the browser Back button.
|
26
|
+
S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () {
|
27
|
+
self.default_tab_hashes.push(this.hash);
|
28
|
+
});
|
33
29
|
|
34
30
|
this.bindings(method, options);
|
35
31
|
this.handle_location_hash_change();
|
@@ -40,26 +36,29 @@
|
|
40
36
|
S = this.S;
|
41
37
|
|
42
38
|
var usual_tab_behavior = function (e, target) {
|
43
|
-
|
44
|
-
|
39
|
+
var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
|
40
|
+
if (!settings.is_hover || Modernizr.touch) {
|
41
|
+
// if user did not pressed tab key, prevent default action
|
42
|
+
var keyCode = e.keyCode || e.which;
|
43
|
+
if (keyCode !== 9) {
|
45
44
|
e.preventDefault();
|
46
45
|
e.stopPropagation();
|
47
|
-
self.toggle_active_tab(S(target).parent());
|
48
46
|
}
|
49
|
-
|
47
|
+
self.toggle_active_tab(S(target).parent());
|
48
|
+
|
49
|
+
}
|
50
|
+
};
|
50
51
|
|
51
52
|
S(this.scope)
|
52
53
|
.off('.tab')
|
53
54
|
// Key event: focus/tab key
|
54
55
|
.on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) {
|
55
|
-
var el = this;
|
56
56
|
var keyCode = e.keyCode || e.which;
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
}
|
57
|
+
// if user pressed tab key
|
58
|
+
if (keyCode === 13 || keyCode === 32) { // enter or space
|
59
|
+
var el = this;
|
60
|
+
usual_tab_behavior(e, el);
|
61
|
+
}
|
63
62
|
})
|
64
63
|
// Click event: tab title
|
65
64
|
.on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) {
|
@@ -181,10 +180,9 @@
|
|
181
180
|
go_to_hash = function(hash) {
|
182
181
|
// This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it
|
183
182
|
// the user would get continually redirected to the default hash.
|
184
|
-
var
|
185
|
-
default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : is_entry_location ? window.location.hash :'fndtn-' + self.default_tab_hashes[0].replace('#', '')
|
183
|
+
var default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : 'fndtn-' + self.default_tab_hashes[0].replace('#', '');
|
186
184
|
|
187
|
-
if (
|
185
|
+
if (hash !== default_hash || window.location.hash) {
|
188
186
|
window.location.hash = hash;
|
189
187
|
}
|
190
188
|
};
|
@@ -224,8 +222,8 @@
|
|
224
222
|
tab.addClass(settings.active_class).triggerHandler('opened');
|
225
223
|
tab_link.attr({'aria-selected' : 'true', tabindex : 0});
|
226
224
|
siblings.removeClass(settings.active_class)
|
227
|
-
siblings.find('a').attr({'aria-selected' : 'false'
|
228
|
-
target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'
|
225
|
+
siblings.find('a').attr({'aria-selected' : 'false'/*, tabindex : -1*/});
|
226
|
+
target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true'/*, tabindex : -1*/});
|
229
227
|
target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex');
|
230
228
|
settings.callback(tab);
|
231
229
|
target.triggerHandler('toggled', [target]);
|