foundation-rails 5.4.1.0 → 5.4.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bower.json +2 -2
- data/lib/foundation/rails/version.rb +1 -1
- data/vendor/assets/_settings.scss +2 -3
- data/vendor/assets/javascripts/foundation/foundation.abide.js +23 -9
- data/vendor/assets/javascripts/foundation/foundation.accordion.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.alert.js +2 -2
- data/vendor/assets/javascripts/foundation/foundation.clearing.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.dropdown.js +7 -1
- data/vendor/assets/javascripts/foundation/foundation.equalizer.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.interchange.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.joyride.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.magellan.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.offcanvas.js +18 -5
- data/vendor/assets/javascripts/foundation/foundation.orbit.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.reveal.js +1 -1
- data/vendor/assets/javascripts/foundation/foundation.slider.js +10 -1
- data/vendor/assets/javascripts/foundation/foundation.tab.js +73 -10
- data/vendor/assets/javascripts/foundation/foundation.tooltip.js +6 -4
- data/vendor/assets/javascripts/foundation/foundation.topbar.js +10 -1
- data/vendor/assets/stylesheets/foundation/_settings.scss +2 -3
- data/vendor/assets/stylesheets/foundation/components/_buttons.scss +1 -1
- data/vendor/assets/stylesheets/foundation/components/_forms.scss +34 -9
- data/vendor/assets/stylesheets/foundation/components/_global.scss +3 -4
- data/vendor/assets/stylesheets/foundation/components/_offcanvas.scss +6 -2
- data/vendor/assets/stylesheets/foundation/components/_range-slider.scss +8 -3
- data/vendor/assets/stylesheets/foundation/components/_reveal.scss +10 -10
- data/vendor/assets/stylesheets/foundation/components/_side-nav.scss +1 -0
- data/vendor/assets/stylesheets/foundation/components/_switches.scss +10 -3
- data/vendor/assets/stylesheets/foundation/components/_tables.scss +2 -2
- data/vendor/assets/stylesheets/foundation/components/_top-bar.scss +19 -6
- metadata +4 -4
data/bower.json
CHANGED
@@ -100,7 +100,6 @@ $include-html-global-classes: $include-html-classes;
|
|
100
100
|
// $body-bg: $white;
|
101
101
|
// $body-font-color: $jet;
|
102
102
|
// $body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
|
103
|
-
// $font-weight-normal:normal;
|
104
103
|
// $body-font-weight: $font-weight-normal;
|
105
104
|
// $body-font-style: normal;
|
106
105
|
|
@@ -803,8 +802,6 @@ $include-html-global-classes: $include-html-classes;
|
|
803
802
|
|
804
803
|
// $include-html-off-canvas-classes: $include-html-classes;
|
805
804
|
|
806
|
-
// $include-html-off-canvas-classes: $include-html-classes;
|
807
|
-
|
808
805
|
// $tabbar-bg: $oil;
|
809
806
|
// $tabbar-height: rem-calc(45);
|
810
807
|
// $tabbar-icon-width: $tabbar-height;
|
@@ -1400,6 +1397,8 @@ $include-html-global-classes: $include-html-classes;
|
|
1400
1397
|
// $topbar-link-font-family: $body-font-family;
|
1401
1398
|
// $topbar-link-text-transform: none;
|
1402
1399
|
// $topbar-link-padding: $topbar-height / 3;
|
1400
|
+
// $topbar-back-link-size: $h5-font-size;
|
1401
|
+
// $topbar-link-dropdown-padding: 20px;
|
1403
1402
|
|
1404
1403
|
// $topbar-button-font-size: 0.75rem;
|
1405
1404
|
// $topbar-button-top: 7px;
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.abide = {
|
5
5
|
name : 'abide',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
live_validate : true,
|
@@ -180,17 +180,17 @@
|
|
180
180
|
parent = direct_parent.parent();
|
181
181
|
}
|
182
182
|
|
183
|
+
if (validator) {
|
184
|
+
valid = this.settings.validators[validator].apply(this, [el, required, parent]);
|
185
|
+
validations.push(valid);
|
186
|
+
}
|
187
|
+
|
183
188
|
if (is_radio && required) {
|
184
189
|
validations.push(this.valid_radio(el, required));
|
185
190
|
} else if (is_checkbox && required) {
|
186
191
|
validations.push(this.valid_checkbox(el, required));
|
187
192
|
} else {
|
188
193
|
|
189
|
-
if (validator) {
|
190
|
-
valid = this.settings.validators[validator].apply(this, [el, required, parent]);
|
191
|
-
validations.push(valid);
|
192
|
-
}
|
193
|
-
|
194
194
|
if (el_patterns[i][1].test(value) && valid_length ||
|
195
195
|
!required && el.value.length < 1 || $(el).attr('disabled')) {
|
196
196
|
validations.push(true);
|
@@ -202,13 +202,27 @@
|
|
202
202
|
|
203
203
|
if(validations[0]){
|
204
204
|
this.S(el).removeAttr(this.invalid_attr);
|
205
|
+
el.setAttribute('aria-invalid', 'false');
|
206
|
+
el.removeAttribute('aria-describedby');
|
205
207
|
parent.removeClass('error');
|
206
|
-
if (label.length > 0 && this.settings.error_labels)
|
208
|
+
if (label.length > 0 && this.settings.error_labels) {
|
209
|
+
label.removeClass('error').removeAttr('role');
|
210
|
+
}
|
207
211
|
$(el).triggerHandler('valid');
|
208
212
|
} else {
|
209
|
-
parent.addClass('error');
|
210
213
|
this.S(el).attr(this.invalid_attr, '');
|
211
|
-
|
214
|
+
el.setAttribute('aria-invalid', 'true');
|
215
|
+
|
216
|
+
// Try to find the error associated with the input
|
217
|
+
var errorElem = parent.find('small.error, span.error');
|
218
|
+
var errorID = errorElem.length > 0 ? errorElem[0].id : "";
|
219
|
+
if (errorID.length > 0) el.setAttribute('aria-describedby', errorID);
|
220
|
+
|
221
|
+
// el.setAttribute('aria-describedby', $(el).find('.error')[0].id);
|
222
|
+
parent.addClass('error');
|
223
|
+
if (label.length > 0 && this.settings.error_labels) {
|
224
|
+
label.addClass('error').attr('role', 'alert');
|
225
|
+
}
|
212
226
|
$(el).triggerHandler('invalid');
|
213
227
|
}
|
214
228
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.alert = {
|
5
5
|
name : 'alert',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
callback: function (){}
|
@@ -18,7 +18,7 @@
|
|
18
18
|
var self = this,
|
19
19
|
S = this.S;
|
20
20
|
|
21
|
-
$(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + ']
|
21
|
+
$(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) {
|
22
22
|
var alertBox = S(this).closest('[' + self.attr_name() + ']'),
|
23
23
|
settings = alertBox.data(self.attr_name(true) + '-init') || self.settings;
|
24
24
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.dropdown = {
|
5
5
|
name : 'dropdown',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
active_class: 'open',
|
@@ -103,9 +103,12 @@
|
|
103
103
|
close: function (dropdown) {
|
104
104
|
var self = this;
|
105
105
|
dropdown.each(function () {
|
106
|
+
var original_target = $('[' + self.attr_name() + '=' + dropdown[0].id + ']') || $('aria-controls=' + dropdown[0].id+ ']');
|
107
|
+
original_target.attr('aria-expanded', "false");
|
106
108
|
if (self.S(this).hasClass(self.settings.active_class)) {
|
107
109
|
self.S(this)
|
108
110
|
.css(Foundation.rtl ? 'right':'left', '-99999px')
|
111
|
+
.attr('aria-hidden', "true")
|
109
112
|
.removeClass(self.settings.active_class)
|
110
113
|
.prev('[' + self.attr_name() + ']')
|
111
114
|
.removeClass(self.settings.active_class)
|
@@ -129,6 +132,9 @@
|
|
129
132
|
.addClass(this.settings.active_class), target);
|
130
133
|
dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class);
|
131
134
|
dropdown.data('target', target.get(0)).trigger('opened').trigger('opened.fndtn.dropdown', [dropdown, target]);
|
135
|
+
dropdown.attr('aria-hidden', 'false');
|
136
|
+
target.attr('aria-expanded', 'true')
|
137
|
+
dropdown.focus();
|
132
138
|
},
|
133
139
|
|
134
140
|
data_attr: function () {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.offcanvas = {
|
5
5
|
name : 'offcanvas',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
open_method: 'move',
|
@@ -40,11 +40,12 @@
|
|
40
40
|
if (self.settings.open_method !== 'overlap'){
|
41
41
|
S(".left-submenu").removeClass(move_class + right_postfix);
|
42
42
|
}
|
43
|
+
$('.left-off-canvas-toggle').attr('aria-expanded', 'true');
|
43
44
|
})
|
44
45
|
.on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) {
|
45
46
|
var settings = self.get_settings(e);
|
46
47
|
var parent = S(this).parent();
|
47
|
-
|
48
|
+
|
48
49
|
if(settings.close_on_click && !parent.hasClass("has-submenu") && !parent.hasClass("back")){
|
49
50
|
self.hide.call(self, move_class + right_postfix, self.get_wrapper(e));
|
50
51
|
parent.parent().removeClass(move_class + right_postfix);
|
@@ -54,18 +55,20 @@
|
|
54
55
|
}else if(parent.hasClass("back")){
|
55
56
|
e.preventDefault();
|
56
57
|
parent.parent().removeClass(move_class + right_postfix);
|
57
|
-
}
|
58
|
+
}
|
59
|
+
$('.left-off-canvas-toggle').attr('aria-expanded', 'true');
|
58
60
|
})
|
59
61
|
.on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
|
60
62
|
self.click_toggle_class(e, move_class + left_postfix);
|
61
63
|
if (self.settings.open_method !== 'overlap'){
|
62
64
|
S(".right-submenu").removeClass(move_class + left_postfix);
|
63
65
|
}
|
66
|
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
64
67
|
})
|
65
68
|
.on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) {
|
66
69
|
var settings = self.get_settings(e);
|
67
70
|
var parent = S(this).parent();
|
68
|
-
|
71
|
+
|
69
72
|
if(settings.close_on_click && !parent.hasClass("has-submenu") && !parent.hasClass("back")){
|
70
73
|
self.hide.call(self, move_class + left_postfix, self.get_wrapper(e));
|
71
74
|
parent.parent().removeClass(move_class + left_postfix);
|
@@ -75,7 +78,8 @@
|
|
75
78
|
}else if(parent.hasClass("back")){
|
76
79
|
e.preventDefault();
|
77
80
|
parent.parent().removeClass(move_class + left_postfix);
|
78
|
-
}
|
81
|
+
}
|
82
|
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
79
83
|
})
|
80
84
|
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
81
85
|
self.click_remove_class(e, move_class + left_postfix);
|
@@ -84,6 +88,15 @@
|
|
84
88
|
self.click_remove_class(e, move_class + right_postfix);
|
85
89
|
S(".left-submenu").removeClass(move_class + left_postfix);
|
86
90
|
}
|
91
|
+
$('.right-off-canvas-toggle').attr('aria-expanded', 'true');
|
92
|
+
})
|
93
|
+
.on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
|
94
|
+
self.click_remove_class(e, move_class + left_postfix);
|
95
|
+
$('.left-off-canvas-toggle').attr('aria-expanded', 'false');
|
96
|
+
if (right_postfix) {
|
97
|
+
self.click_remove_class(e, move_class + right_postfix);
|
98
|
+
$('.right-off-canvas-toggle').attr('aria-expanded', "false");
|
99
|
+
}
|
87
100
|
});
|
88
101
|
},
|
89
102
|
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.slider = {
|
5
5
|
name : 'slider',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings: {
|
10
10
|
start: 0,
|
@@ -128,6 +128,15 @@
|
|
128
128
|
|
129
129
|
$handle.parent().children('input[type=hidden]').val(value);
|
130
130
|
|
131
|
+
if (!$handle[0].hasAttribute('aria-valuemin')) {
|
132
|
+
$handle.attr({
|
133
|
+
'aria-valuemin': settings.start,
|
134
|
+
'aria-valuemax': settings.end,
|
135
|
+
});
|
136
|
+
}
|
137
|
+
$handle.attr('aria-valuenow', value);
|
138
|
+
|
139
|
+
|
131
140
|
if (settings.input_id != '') {
|
132
141
|
$(settings.display_selector).each(function(){
|
133
142
|
if (this.hasOwnProperty('value')) {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.tab = {
|
5
5
|
name : 'tab',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
active_class: 'active',
|
@@ -35,17 +35,20 @@
|
|
35
35
|
var self = this,
|
36
36
|
S = this.S;
|
37
37
|
|
38
|
-
|
39
|
-
.off('.tab')
|
40
|
-
// Click event: tab title
|
41
|
-
.on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) {
|
38
|
+
var usual_tab_behavior = function (e) {
|
42
39
|
var settings = S(this).closest('[' + self.attr_name() +']').data(self.attr_name(true) + '-init');
|
43
40
|
if (!settings.is_hover || Modernizr.touch) {
|
44
41
|
e.preventDefault();
|
45
42
|
e.stopPropagation();
|
46
43
|
self.toggle_active_tab(S(this).parent());
|
47
44
|
}
|
48
|
-
}
|
45
|
+
};
|
46
|
+
|
47
|
+
S(this.scope)
|
48
|
+
.off('.tab')
|
49
|
+
// Click event: tab title
|
50
|
+
.on('focus.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior )
|
51
|
+
.on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', usual_tab_behavior )
|
49
52
|
// Hover event: tab title
|
50
53
|
.on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) {
|
51
54
|
var settings = S(this).closest('[' + self.attr_name() +']').data(self.attr_name(true) + '-init');
|
@@ -56,7 +59,14 @@
|
|
56
59
|
S(window).on('hashchange.fndtn.tab', function (e) {
|
57
60
|
e.preventDefault();
|
58
61
|
self.handle_location_hash_change();
|
59
|
-
|
62
|
+
|
63
|
+
}).on('keyup', function (e) {
|
64
|
+
if (e.keyword == 9) {
|
65
|
+
// active tab
|
66
|
+
console.log(document.querySelector('[data-tab] .tab-title :focus'))
|
67
|
+
}
|
68
|
+
});
|
69
|
+
;
|
60
70
|
},
|
61
71
|
|
62
72
|
handle_location_hash_change : function () {
|
@@ -96,11 +106,58 @@
|
|
96
106
|
toggle_active_tab: function (tab, location_hash) {
|
97
107
|
var S = this.S,
|
98
108
|
tabs = tab.closest('[' + this.attr_name() + ']'),
|
109
|
+
tab_link = tab.find('a'),
|
99
110
|
anchor = tab.children('a').first(),
|
100
111
|
target_hash = '#' + anchor.attr('href').split('#')[1],
|
101
112
|
target = S(target_hash),
|
102
113
|
siblings = tab.siblings(),
|
103
|
-
settings = tabs.data(this.attr_name(true) + '-init')
|
114
|
+
settings = tabs.data(this.attr_name(true) + '-init'),
|
115
|
+
interpret_keyup_action = function(e) {
|
116
|
+
// Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js
|
117
|
+
|
118
|
+
// define current, previous and next (possible) tabs
|
119
|
+
|
120
|
+
var $original = $(this);
|
121
|
+
var $prev = $(this).parents('li').prev().children('[role="tab"]');
|
122
|
+
var $next = $(this).parents('li').next().children('[role="tab"]');
|
123
|
+
var $target;
|
124
|
+
|
125
|
+
// find the direction (prev or next)
|
126
|
+
|
127
|
+
switch (e.keyCode) {
|
128
|
+
case 37:
|
129
|
+
$target = $prev;
|
130
|
+
break;
|
131
|
+
case 39:
|
132
|
+
$target = $next;
|
133
|
+
break;
|
134
|
+
default:
|
135
|
+
$target = false
|
136
|
+
break;
|
137
|
+
}
|
138
|
+
|
139
|
+
if ($target.length) {
|
140
|
+
$original.attr({
|
141
|
+
'tabindex' : '-1',
|
142
|
+
'aria-selected' : null
|
143
|
+
});
|
144
|
+
$target.attr({
|
145
|
+
'tabindex' : '0',
|
146
|
+
'aria-selected' : true
|
147
|
+
}).focus();
|
148
|
+
}
|
149
|
+
|
150
|
+
// Hide panels
|
151
|
+
|
152
|
+
$('[role="tabpanel"]')
|
153
|
+
.attr('aria-hidden', 'true');
|
154
|
+
|
155
|
+
// Show panel which corresponds to target
|
156
|
+
|
157
|
+
$('#' + $(document.activeElement).attr('href').substring(1))
|
158
|
+
.attr('aria-hidden', null);
|
159
|
+
|
160
|
+
};
|
104
161
|
|
105
162
|
// allow usage of data-tab-content attribute instead of href
|
106
163
|
if (S(this).data(this.data_attr('tab-content'))) {
|
@@ -144,12 +201,18 @@
|
|
144
201
|
// WARNING: The activation and deactivation of the tab content must
|
145
202
|
// occur after the deep linking in order to properly refresh the browser
|
146
203
|
// window (notably in Chrome).
|
204
|
+
// Clean up multiple attr instances to done once
|
147
205
|
tab.addClass(settings.active_class).triggerHandler('opened');
|
148
|
-
|
149
|
-
|
206
|
+
tab_link.attr({"aria-selected": "true", tabindex: 0});
|
207
|
+
siblings.removeClass(settings.active_class)
|
208
|
+
siblings.find('a').attr({"aria-selected": "false", tabindex: -1});
|
209
|
+
target.siblings().removeClass(settings.active_class).attr({"aria-hidden": "true", tabindex: -1}).end().addClass(settings.active_class).attr('aria-hidden', 'false').find(':first-child').attr('tabindex', 0);
|
150
210
|
settings.callback(tab);
|
211
|
+
target.children().attr('tab-index', 0);
|
151
212
|
target.triggerHandler('toggled', [tab]);
|
152
213
|
tabs.triggerHandler('toggled', [target]);
|
214
|
+
|
215
|
+
tab_link.on('keydown', interpret_keyup_action );
|
153
216
|
},
|
154
217
|
|
155
218
|
data_attr: function (str) {
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.tooltip = {
|
5
5
|
name : 'tooltip',
|
6
6
|
|
7
|
-
version : '5.
|
7
|
+
version : '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
additional_inheritable_classes : [],
|
@@ -15,9 +15,9 @@
|
|
15
15
|
hover_delay: 200,
|
16
16
|
show_on : 'all',
|
17
17
|
tip_template : function (selector, content) {
|
18
|
-
return '<span data-selector="' + selector + '" class="'
|
18
|
+
return '<span data-selector="' + selector + '" id="' + selector + '" class="'
|
19
19
|
+ Foundation.libs.tooltip.settings.tooltip_class.substring(1)
|
20
|
-
+ '">' + content + '<span class="nub"></span></span>';
|
20
|
+
+ '" role="tooltip">' + content + '<span class="nub"></span></span>';
|
21
21
|
}
|
22
22
|
},
|
23
23
|
|
@@ -143,7 +143,9 @@
|
|
143
143
|
|
144
144
|
if ((id && id.length < 1 || !id) && typeof dataSelector != 'string') {
|
145
145
|
dataSelector = this.random_str(6);
|
146
|
-
$target
|
146
|
+
$target
|
147
|
+
.attr('data-selector', dataSelector)
|
148
|
+
.attr('aria-describedby', dataSelector);
|
147
149
|
}
|
148
150
|
|
149
151
|
return (id && id.length > 0) ? id : dataSelector;
|
@@ -4,7 +4,7 @@
|
|
4
4
|
Foundation.libs.topbar = {
|
5
5
|
name : 'topbar',
|
6
6
|
|
7
|
-
version: '5.
|
7
|
+
version: '5.4.1',
|
8
8
|
|
9
9
|
settings : {
|
10
10
|
index : 0,
|
@@ -277,6 +277,15 @@
|
|
277
277
|
$movedLi.removeClass('moved');
|
278
278
|
}, 300);
|
279
279
|
});
|
280
|
+
|
281
|
+
// Show dropdown menus when their items are focused
|
282
|
+
S(this.scope).find('.dropdown a')
|
283
|
+
.focus(function() {
|
284
|
+
$(this).parents('.has-dropdown').addClass('hover');
|
285
|
+
})
|
286
|
+
.blur(function() {
|
287
|
+
$(this).parents('.has-dropdown').removeClass('hover');
|
288
|
+
});
|
280
289
|
},
|
281
290
|
|
282
291
|
resize : function () {
|
@@ -100,7 +100,6 @@ $include-html-global-classes: $include-html-classes;
|
|
100
100
|
// $body-bg: $white;
|
101
101
|
// $body-font-color: $jet;
|
102
102
|
// $body-font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
|
103
|
-
// $font-weight-normal:normal;
|
104
103
|
// $body-font-weight: $font-weight-normal;
|
105
104
|
// $body-font-style: normal;
|
106
105
|
|
@@ -803,8 +802,6 @@ $include-html-global-classes: $include-html-classes;
|
|
803
802
|
|
804
803
|
// $include-html-off-canvas-classes: $include-html-classes;
|
805
804
|
|
806
|
-
// $include-html-off-canvas-classes: $include-html-classes;
|
807
|
-
|
808
805
|
// $tabbar-bg: $oil;
|
809
806
|
// $tabbar-height: rem-calc(45);
|
810
807
|
// $tabbar-icon-width: $tabbar-height;
|
@@ -1400,6 +1397,8 @@ $include-html-global-classes: $include-html-classes;
|
|
1400
1397
|
// $topbar-link-font-family: $body-font-family;
|
1401
1398
|
// $topbar-link-text-transform: none;
|
1402
1399
|
// $topbar-link-padding: $topbar-height / 3;
|
1400
|
+
// $topbar-back-link-size: $h5-font-size;
|
1401
|
+
// $topbar-link-dropdown-padding: 20px;
|
1403
1402
|
|
1404
1403
|
// $topbar-button-font-size: 0.75rem;
|
1405
1404
|
// $topbar-button-top: 7px;
|
@@ -175,7 +175,7 @@ $button-disabled-cursor: $cursor-default-value !default;
|
|
175
175
|
&:focus { background-color: $bg; }
|
176
176
|
}
|
177
177
|
|
178
|
-
// We can control how much button radius
|
178
|
+
// We can control how much button radius is used.
|
179
179
|
@if $radius == true { @include radius($button-radius); }
|
180
180
|
@else if $radius { @include radius($radius); }
|
181
181
|
|
@@ -321,14 +321,14 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
|
|
321
321
|
-webkit-appearance: none !important;
|
322
322
|
-webkit-border-radius: 0px;
|
323
323
|
background-color: $select-bg-color;
|
324
|
-
|
324
|
+
|
325
325
|
// The custom arrow have some fake horizontal padding so we can align it
|
326
326
|
// from the right side of the element without relying on CSS3
|
327
327
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
|
328
|
-
|
328
|
+
|
329
329
|
// We can safely use leftmost and rightmost now
|
330
330
|
background-position: if($text-direction == 'rtl', 0%, 100%) center;
|
331
|
-
|
331
|
+
|
332
332
|
background-repeat: no-repeat;
|
333
333
|
border: $input-border-width $input-border-style $input-border-color;
|
334
334
|
padding: $form-spacing / 2;
|
@@ -397,12 +397,8 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
|
|
397
397
|
.postfix.button.round { @include radius(0); @include side-radius($opposite-direction, $button-round); }
|
398
398
|
|
399
399
|
/* Separate prefix and postfix styles when on span or label so buttons keep their own */
|
400
|
-
span.prefix,label.prefix { @include prefix();
|
401
|
-
|
402
|
-
}
|
403
|
-
span.postfix,label.postfix { @include postfix();
|
404
|
-
&.radius { @include radius(0); @include side-radius($opposite-direction, $global-radius); }
|
405
|
-
}
|
400
|
+
span.prefix,label.prefix { @include prefix(); }
|
401
|
+
span.postfix,label.postfix { @include postfix(); }
|
406
402
|
|
407
403
|
/* We use this to get basic styling on all basic form elements */
|
408
404
|
input[type="text"],
|
@@ -431,6 +427,35 @@ $select-hover-bg-color: scale-color($select-bg-color, $lightness: -3%) !default;
|
|
431
427
|
}
|
432
428
|
}
|
433
429
|
|
430
|
+
form {
|
431
|
+
.row {
|
432
|
+
.prefix-radius.row.collapse {
|
433
|
+
input,
|
434
|
+
textarea,
|
435
|
+
select { @include radius(0); @include side-radius($opposite-direction, $button-radius); }
|
436
|
+
.prefix { @include radius(0); @include side-radius($default-float, $button-radius); }
|
437
|
+
}
|
438
|
+
.postfix-radius.row.collapse {
|
439
|
+
input,
|
440
|
+
textarea,
|
441
|
+
select { @include radius(0); @include side-radius($default-float, $button-radius); }
|
442
|
+
.postfix { @include radius(0); @include side-radius($opposite-direction, $button-radius); }
|
443
|
+
}
|
444
|
+
.prefix-round.row.collapse {
|
445
|
+
input,
|
446
|
+
textarea,
|
447
|
+
select { @include radius(0); @include side-radius($opposite-direction, $button-round); }
|
448
|
+
.prefix { @include radius(0); @include side-radius($default-float, $button-round); }
|
449
|
+
}
|
450
|
+
.postfix-round.row.collapse {
|
451
|
+
input,
|
452
|
+
textarea,
|
453
|
+
select { @include radius(0); @include side-radius($default-float, $button-round); }
|
454
|
+
.postfix { @include radius(0); @include side-radius($opposite-direction, $button-round); }
|
455
|
+
}
|
456
|
+
}
|
457
|
+
}
|
458
|
+
|
434
459
|
input[type="submit"] {
|
435
460
|
-webkit-appearance: none;
|
436
461
|
-webkit-border-radius: 0px;
|
@@ -228,7 +228,6 @@ $success-color: #43AC6A !default; // sea-green
|
|
228
228
|
$warning-color: #f08a24 !default; // carrot
|
229
229
|
$info-color: #a0d3e8 !default; // cornflower
|
230
230
|
|
231
|
-
|
232
231
|
$white : #FFFFFF !default;
|
233
232
|
$ghost : #FAFAFA !default;
|
234
233
|
$snow : #F9F9F9 !default;
|
@@ -249,7 +248,6 @@ $oil : #333333 !default;
|
|
249
248
|
$jet : #222222 !default;
|
250
249
|
$black : #000000 !default;
|
251
250
|
|
252
|
-
|
253
251
|
// We use these to define default font weights
|
254
252
|
$font-weight-normal: normal !default;
|
255
253
|
$font-weight-bold: bold !default;
|
@@ -327,6 +325,7 @@ $large: $large-up;
|
|
327
325
|
|
328
326
|
|
329
327
|
//We use this as cursors values for enabling the option of having custom cursors in the whole site's stylesheet
|
328
|
+
$cursor-auto-value: auto !default;
|
330
329
|
$cursor-crosshair-value: crosshair !default;
|
331
330
|
$cursor-default-value: default !default;
|
332
331
|
$cursor-pointer-value: pointer !default;
|
@@ -341,7 +340,7 @@ $cursor-text-value: text !default;
|
|
341
340
|
// Forward slash placed around everything to convince PhantomJS to read the value.
|
342
341
|
|
343
342
|
meta.foundation-version {
|
344
|
-
font-family: "/
|
343
|
+
font-family: "/5.4.1/";
|
345
344
|
}
|
346
345
|
|
347
346
|
meta.foundation-mq-small {
|
@@ -399,7 +398,7 @@ $cursor-text-value: text !default;
|
|
399
398
|
font-style: $body-font-style;
|
400
399
|
line-height: $base-line-height; // Set to $base-line-height to take on browser default of 150%
|
401
400
|
position: relative;
|
402
|
-
cursor: $cursor-
|
401
|
+
cursor: $cursor-auto-value;
|
403
402
|
}
|
404
403
|
|
405
404
|
a:hover { cursor: $cursor-pointer-value; }
|
@@ -106,12 +106,15 @@ $menu-slide: "transform 500ms ease" !default;
|
|
106
106
|
top: 0;
|
107
107
|
bottom: 0;
|
108
108
|
position: absolute;
|
109
|
-
overflow-
|
109
|
+
overflow-x: hidden;
|
110
|
+
overflow-y: auto;
|
110
111
|
background: $off-canvas-bg;
|
111
112
|
z-index: 1001;
|
112
113
|
box-sizing: content-box;
|
113
114
|
transition: transform 500ms ease 0s;
|
114
115
|
-webkit-overflow-scrolling: touch;
|
116
|
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
117
|
+
|
115
118
|
@if $position == left {
|
116
119
|
@include translate3d(-100.5%,0,0);
|
117
120
|
left: 0;
|
@@ -394,7 +397,8 @@ $menu-slide: "transform 500ms ease" !default;
|
|
394
397
|
bottom: 0;
|
395
398
|
position: absolute;
|
396
399
|
margin: 0;
|
397
|
-
overflow-
|
400
|
+
overflow-x: hidden;
|
401
|
+
overflow-y: auto;
|
398
402
|
background: $off-canvas-bg;
|
399
403
|
z-index: 1002;
|
400
404
|
box-sizing: content-box;
|
@@ -21,10 +21,11 @@ $range-slider-bar-height: rem-calc(16) !default;
|
|
21
21
|
|
22
22
|
$range-slider-bar-border-width: 1px !default;
|
23
23
|
$range-slider-bar-border-style: solid !default;
|
24
|
-
$range-slider-bar-border-color: $gainsboro !default;
|
24
|
+
$range-slider-bar-border-color: $gainsboro !default;
|
25
25
|
$range-slider-radius: $global-radius !default;
|
26
26
|
$range-slider-round: $global-rounded !default;
|
27
27
|
$range-slider-bar-bg-color: $ghost !default;
|
28
|
+
$range-slider-active-segment-bg-color: scale-color($secondary-color, $lightness: -1%) !default;
|
28
29
|
|
29
30
|
// Vertical bar styles
|
30
31
|
$range-slider-vertical-bar-width: rem-calc(16) !default;
|
@@ -79,7 +80,7 @@ $range-slider-disabled-opacity: 0.7 !default;
|
|
79
80
|
}
|
80
81
|
|
81
82
|
@mixin range-slider-bar(
|
82
|
-
$bg: $range-slider-bar-bg-color,
|
83
|
+
$bg: $range-slider-bar-bg-color,
|
83
84
|
$radius:false) {
|
84
85
|
@include range-slider-bar-base;
|
85
86
|
@include range-slider-bar-style;
|
@@ -94,6 +95,10 @@ $range-slider-disabled-opacity: 0.7 !default;
|
|
94
95
|
height: $range-slider-handle-height;
|
95
96
|
border: $range-slider-handle-border-width $range-slider-handle-border-style $range-slider-handle-border-color;
|
96
97
|
cursor: $range-slider-handle-cursor;
|
98
|
+
|
99
|
+
// This removes the 300ms touch delay on Windows 8
|
100
|
+
-ms-touch-action: manipulation;
|
101
|
+
touch-action: manipulation;
|
97
102
|
}
|
98
103
|
@mixin range-slider-handle-style(
|
99
104
|
$bg: true,
|
@@ -153,7 +158,7 @@ $range-slider-disabled-opacity: 0.7 !default;
|
|
153
158
|
display: inline-block;
|
154
159
|
position: absolute;
|
155
160
|
height: $range-slider-bar-height - rem-calc((strip-unit($range-slider-bar-border-width) * 2));
|
156
|
-
background:
|
161
|
+
background: $range-slider-active-segment-bg-color;
|
157
162
|
}
|
158
163
|
.range-slider-handle {
|
159
164
|
@include range-slider-handle-base;
|
@@ -65,11 +65,7 @@ $close-reveal-modal-class: "close-reveal-modal" !default;
|
|
65
65
|
// $base-style - Provides reveal base styles, can be set to false to override. Default: true, Options: false
|
66
66
|
// $width - Sets reveal width Default: $reveal-default-width || 80%
|
67
67
|
//
|
68
|
-
@mixin reveal-modal-base(
|
69
|
-
$base-style:true,
|
70
|
-
$width:$reveal-default-width,
|
71
|
-
$max-width:$reveal-max-width,
|
72
|
-
$border-radius: $reveal-radius) {
|
68
|
+
@mixin reveal-modal-base( $base-style: true, $width:$reveal-default-width, $max-width:$reveal-max-width, $border-radius: $reveal-radius) {
|
73
69
|
@if $base-style {
|
74
70
|
visibility: hidden;
|
75
71
|
display: none;
|
@@ -77,18 +73,19 @@ $close-reveal-modal-class: "close-reveal-modal" !default;
|
|
77
73
|
z-index: 1005;
|
78
74
|
width: 100vw;
|
79
75
|
top:0;
|
80
|
-
border-radius: $border-radius;
|
76
|
+
border-radius: $border-radius;
|
81
77
|
#{$default-float}: 0;
|
78
|
+
|
82
79
|
@media #{$small-only} {
|
83
80
|
min-height:100vh;
|
84
81
|
}
|
85
82
|
|
86
83
|
// Make sure rows don't have a min-width on them
|
87
|
-
.column,
|
88
|
-
.columns { min-width: 0; }
|
84
|
+
.column, .columns { min-width: 0; }
|
89
85
|
|
90
86
|
// Get rid of margin from first and last element inside modal
|
91
87
|
& > :first-child { margin-top: 0; }
|
88
|
+
|
92
89
|
& > :last-child { margin-bottom: 0; }
|
93
90
|
}
|
94
91
|
|
@@ -201,12 +198,15 @@ $close-reveal-modal-class: "close-reveal-modal" !default;
|
|
201
198
|
|
202
199
|
dialog {
|
203
200
|
@extend .#{$reveal-modal-class};
|
201
|
+
display: none;
|
204
202
|
|
205
|
-
&::backdrop {
|
203
|
+
&::backdrop, & + .backdrop {
|
206
204
|
@include reveal-bg(false);
|
207
205
|
}
|
208
206
|
|
209
|
-
|
207
|
+
&[open]{
|
208
|
+
display: block;
|
209
|
+
}
|
210
210
|
}
|
211
211
|
|
212
212
|
// Reveal Print Styles: It should be invislbe, adds no value being printed.
|
@@ -63,7 +63,11 @@ $switch-active-color: $primary-color;
|
|
63
63
|
// So that we don't need to recreate the form with any JS, we use the
|
64
64
|
// existing checkbox or radio button, but we cleverly position and hide it.
|
65
65
|
input {
|
66
|
-
|
66
|
+
opacity: 0;
|
67
|
+
position: absolute;
|
68
|
+
top: 9px;
|
69
|
+
left: 10px;
|
70
|
+
padding:0;
|
67
71
|
|
68
72
|
& + label { margin-left: 0; margin-right: 0; }
|
69
73
|
}
|
@@ -182,7 +186,10 @@ $switch-active-color: $primary-color;
|
|
182
186
|
$paddle-bg: $switch-paddle-bg,
|
183
187
|
$active-color: $switch-active-color,
|
184
188
|
$radius:false,
|
185
|
-
|
189
|
+
$base-style:true) {
|
190
|
+
padding: 0;
|
191
|
+
border: none;
|
192
|
+
position: relative;
|
186
193
|
@include switch-base($transition-speed, $transition-ease);
|
187
194
|
@include switch-size($height);
|
188
195
|
@include switch-style($paddle-bg, $radius, $base-style);
|
@@ -190,7 +197,7 @@ $switch-active-color: $primary-color;
|
|
190
197
|
|
191
198
|
@include exports("switch") {
|
192
199
|
@if $include-html-form-classes {
|
193
|
-
|
200
|
+
.switch {
|
194
201
|
@include switch;
|
195
202
|
|
196
203
|
// Large radio switches
|
@@ -63,8 +63,8 @@ $table-margin-bottom: rem-calc(20) !default;
|
|
63
63
|
background: $table-bg;
|
64
64
|
margin-bottom: $table-margin-bottom;
|
65
65
|
border: $table-border-style $table-border-size $table-border-color;
|
66
|
-
table-layout:fixed;
|
67
|
-
width:100%;
|
66
|
+
table-layout: fixed;
|
67
|
+
width: 100%;
|
68
68
|
|
69
69
|
caption {
|
70
70
|
background: $table-caption-bg;
|
@@ -48,7 +48,8 @@ $topbar-link-bg-active-hover: scale-color($primary-color, $lightness: -14%) !def
|
|
48
48
|
$topbar-link-font-family: $body-font-family !default;
|
49
49
|
$topbar-link-text-transform: none !default;
|
50
50
|
$topbar-link-padding: $topbar-height / 3 !default;
|
51
|
-
|
51
|
+
$topbar-back-link-size: $h5-font-size !default;
|
52
|
+
$topbar-link-dropdown-padding: 20px;
|
52
53
|
$topbar-button-font-size: 0.75rem !default;
|
53
54
|
$topbar-button-top: 7px !default;
|
54
55
|
|
@@ -163,13 +164,18 @@ $topbar-arrows: true !default; //Set false to remove the triangle icon from the
|
|
163
164
|
input { height: 1.8rem; padding-top: .35rem; padding-bottom: .35rem; font-size: $topbar-button-font-size; }
|
164
165
|
|
165
166
|
.button, button {
|
166
|
-
padding-top: .
|
167
|
-
padding-bottom: .35rem;
|
167
|
+
padding-top: .35rem + rem-calc(1);
|
168
|
+
padding-bottom: .35rem + rem-calc(1);
|
168
169
|
margin-bottom: 0;
|
169
170
|
font-size: $topbar-button-font-size;
|
170
171
|
// position: relative;
|
171
172
|
// top: -1px;
|
172
|
-
|
173
|
+
|
174
|
+
// Corrects a slight misalignment when put next to an input field
|
175
|
+
@media #{$small-only} {
|
176
|
+
position: relative;
|
177
|
+
top: -1px;
|
178
|
+
}
|
173
179
|
}
|
174
180
|
|
175
181
|
// Title Area
|
@@ -402,11 +408,12 @@ $topbar-arrows: true !default; //Set false to remove the triangle icon from the
|
|
402
408
|
}
|
403
409
|
|
404
410
|
&.title h5, &.parent-link {
|
411
|
+
// Back Button
|
405
412
|
margin-bottom: 0;
|
406
413
|
margin-top: 0;
|
407
414
|
a {
|
408
415
|
color: $topbar-link-color;
|
409
|
-
line-height: $topbar-height / 2;
|
416
|
+
// line-height: $topbar-height / 2;
|
410
417
|
display: block;
|
411
418
|
&:hover { background:none; }
|
412
419
|
}
|
@@ -515,7 +522,7 @@ $topbar-arrows: true !default; //Set false to remove the triangle icon from the
|
|
515
522
|
@if($topbar-arrows){
|
516
523
|
|
517
524
|
& > a {
|
518
|
-
padding-#{$opposite-direction}: $topbar-link-padding +
|
525
|
+
padding-#{$opposite-direction}: $topbar-link-padding + $topbar-link-dropdown-padding !important;
|
519
526
|
&:after {
|
520
527
|
@include css-triangle($topbar-dropdown-toggle-size, rgba($topbar-dropdown-toggle-color, $topbar-dropdown-toggle-alpha), top);
|
521
528
|
margin-top: -($topbar-dropdown-toggle-size / 2);
|
@@ -536,6 +543,9 @@ $topbar-arrows: true !default; //Set false to remove the triangle icon from the
|
|
536
543
|
@include topbar-show-dropdown();
|
537
544
|
}
|
538
545
|
}
|
546
|
+
> a:focus + .dropdown {
|
547
|
+
@include topbar-show-dropdown();
|
548
|
+
}
|
539
549
|
|
540
550
|
.dropdown li.has-dropdown {
|
541
551
|
& > a {
|
@@ -656,6 +666,9 @@ $topbar-arrows: true !default; //Set false to remove the triangle icon from the
|
|
656
666
|
@include topbar-show-dropdown();
|
657
667
|
}
|
658
668
|
}
|
669
|
+
> a:focus + .dropdown {
|
670
|
+
@include topbar-show-dropdown();
|
671
|
+
}
|
659
672
|
}
|
660
673
|
}
|
661
674
|
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foundation-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.4.
|
4
|
+
version: 5.4.2.0
|
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: 2014-08-
|
12
|
+
date: 2014-08-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -238,7 +238,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
238
238
|
version: '0'
|
239
239
|
segments:
|
240
240
|
- 0
|
241
|
-
hash:
|
241
|
+
hash: 912037354965873330
|
242
242
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
243
243
|
none: false
|
244
244
|
requirements:
|
@@ -247,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
247
|
version: '0'
|
248
248
|
segments:
|
249
249
|
- 0
|
250
|
-
hash:
|
250
|
+
hash: 912037354965873330
|
251
251
|
requirements: []
|
252
252
|
rubyforge_project:
|
253
253
|
rubygems_version: 1.8.23
|