foundation-rails 5.4.1.0 → 5.4.2.0
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/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
|