foundation-rails 6.2.0.1 → 6.2.1.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.
- checksums.yaml +4 -4
- data/bower.json +2 -2
- data/lib/foundation/rails/version.rb +1 -1
- data/lib/generators/foundation/templates/_settings.scss +2 -1
- data/lib/generators/foundation/templates/foundation_and_overrides.scss +1 -0
- data/vendor/assets/js/foundation.abide.js.es6 +89 -24
- data/vendor/assets/js/foundation.accordion.js.es6 +21 -23
- data/vendor/assets/js/foundation.accordionMenu.js.es6 +12 -11
- data/vendor/assets/js/foundation.core.js.es6 +1 -1
- data/vendor/assets/js/foundation.drilldown.js.es6 +35 -21
- data/vendor/assets/js/foundation.dropdown.js.es6 +8 -3
- data/vendor/assets/js/foundation.dropdownMenu.js.es6 +1 -1
- data/vendor/assets/js/foundation.equalizer.js.es6 +1 -1
- data/vendor/assets/js/foundation.interchange.js.es6 +1 -1
- data/vendor/assets/js/foundation.orbit.js.es6 +2 -1
- data/vendor/assets/js/foundation.responsiveMenu.js.es6 +19 -16
- data/vendor/assets/js/foundation.reveal.js.es6 +29 -15
- data/vendor/assets/js/foundation.slider.js.es6 +19 -3
- data/vendor/assets/js/foundation.toggler.js.es6 +2 -2
- data/vendor/assets/js/foundation.util.box.js.es6 +12 -0
- data/vendor/assets/js/foundation.util.mediaQuery.js.es6 +1 -1
- data/vendor/assets/scss/_global.scss +4 -3
- data/vendor/assets/scss/components/_breadcrumbs.scss +1 -0
- data/vendor/assets/scss/components/_button-group.scss +21 -14
- data/vendor/assets/scss/components/_button.scss +6 -4
- data/vendor/assets/scss/components/_callout.scss +1 -1
- data/vendor/assets/scss/components/_dropdown-menu.scss +2 -3
- data/vendor/assets/scss/components/_flex.scss +1 -1
- data/vendor/assets/scss/components/_media-object.scss +10 -5
- data/vendor/assets/scss/components/_menu.scss +1 -1
- data/vendor/assets/scss/components/_off-canvas.scss +1 -1
- data/vendor/assets/scss/components/_pagination.scss +1 -1
- data/vendor/assets/scss/components/_reveal.scss +2 -1
- data/vendor/assets/scss/components/_switch.scss +1 -1
- data/vendor/assets/scss/components/_table.scss +2 -2
- data/vendor/assets/scss/components/_top-bar.scss +18 -16
- data/vendor/assets/scss/components/_visibility.scss +4 -3
- data/vendor/assets/scss/forms/_checkbox.scss +4 -0
- data/vendor/assets/scss/forms/_input-group.scss +2 -2
- data/vendor/assets/scss/forms/_select.scss +1 -0
- data/vendor/assets/scss/forms/_text.scss +1 -1
- data/vendor/assets/scss/foundation.scss +1 -1
- data/vendor/assets/scss/grid/_flex-grid.scss +9 -7
- data/vendor/assets/scss/grid/_row.scss +2 -1
- data/vendor/assets/scss/settings/_settings.scss +2 -1
- data/vendor/assets/scss/typography/_alignment.scss +1 -1
- data/vendor/assets/scss/util/_breakpoint.scss +8 -6
- data/vendor/assets/scss/util/_mixins.scss +5 -3
- data/vendor/assets/scss/util/_value.scss +1 -1
- metadata +2 -2
@@ -69,8 +69,11 @@ class Dropdown {
|
|
69
69
|
* @returns {String} position - string value of a position class.
|
70
70
|
*/
|
71
71
|
getPositionClass() {
|
72
|
-
var
|
73
|
-
|
72
|
+
var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
|
73
|
+
verticalPosition = verticalPosition ? verticalPosition[0] : '';
|
74
|
+
var horizontalPosition = /float-(.+)\s/.exec(this.$anchor[0].className);
|
75
|
+
horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';
|
76
|
+
var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;
|
74
77
|
return position;
|
75
78
|
}
|
76
79
|
|
@@ -130,6 +133,8 @@ class Dropdown {
|
|
130
133
|
param = (direction === 'top') ? 'height' : 'width',
|
131
134
|
offset = (param === 'height') ? this.options.vOffset : this.options.hOffset;
|
132
135
|
|
136
|
+
|
137
|
+
|
133
138
|
if(($eleDims.width >= $eleDims.windowDims.width) || (!this.counter && !Foundation.Box.ImNotTouchingYou(this.$element))){
|
134
139
|
this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
|
135
140
|
'width': $eleDims.windowDims.width - (this.options.hOffset * 2),
|
@@ -141,7 +146,7 @@ class Dropdown {
|
|
141
146
|
|
142
147
|
this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));
|
143
148
|
|
144
|
-
while(!Foundation.Box.ImNotTouchingYou(this.$element) && this.counter){
|
149
|
+
while(!Foundation.Box.ImNotTouchingYou(this.$element, false, true) && this.counter){
|
145
150
|
this._reposition(position);
|
146
151
|
this._setPosition();
|
147
152
|
}
|
@@ -50,7 +50,7 @@ class DropdownMenu {
|
|
50
50
|
this.$tabs = this.$element.children('[role="menuitem"]');
|
51
51
|
this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
|
52
52
|
|
53
|
-
if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl()) {
|
53
|
+
if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {
|
54
54
|
this.options.alignment = 'right';
|
55
55
|
subs.addClass('opens-left');
|
56
56
|
} else {
|
@@ -155,7 +155,7 @@ class Equalizer {
|
|
155
155
|
* @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
|
156
156
|
*/
|
157
157
|
getHeightsByRow(cb) {
|
158
|
-
var lastElTopOffset = this.$watched.first().offset().top,
|
158
|
+
var lastElTopOffset = (this.$watched.length ? this.$watched.first().offset().top : 0),
|
159
159
|
groups = [],
|
160
160
|
group = 0;
|
161
161
|
//group by Row
|
@@ -139,7 +139,7 @@ class Interchange {
|
|
139
139
|
.trigger(trigger);
|
140
140
|
}
|
141
141
|
// Replacing background images
|
142
|
-
else if (path.match(/\.(gif|jpg|jpeg|tiff
|
142
|
+
else if (path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {
|
143
143
|
this.$element.css({ 'background-image': 'url('+path+')' })
|
144
144
|
.trigger(trigger);
|
145
145
|
}
|
@@ -200,7 +200,8 @@ class Orbit {
|
|
200
200
|
var $controls = this.$element.find(`.${this.options.nextClass}, .${this.options.prevClass}`);
|
201
201
|
$controls.attr('tabindex', 0)
|
202
202
|
//also need to handle enter/return and spacebar key presses
|
203
|
-
.on('click.zf.orbit touchend.zf.orbit', function(){
|
203
|
+
.on('click.zf.orbit touchend.zf.orbit', function(e){
|
204
|
+
e.preventDefault();
|
204
205
|
_this.changeSlide($(this).hasClass(_this.options.nextClass));
|
205
206
|
});
|
206
207
|
}
|
@@ -38,25 +38,28 @@ class ResponsiveMenu {
|
|
38
38
|
* @private
|
39
39
|
*/
|
40
40
|
_init() {
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
41
|
+
// The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
|
42
|
+
if (typeof this.rules === 'string') {
|
43
|
+
let rulesTree = {};
|
44
|
+
|
45
|
+
// Parse rules from "classes" pulled from data attribute
|
46
|
+
let rules = this.rules.split(' ');
|
47
|
+
|
48
|
+
// Iterate through every rule found
|
49
|
+
for (let i = 0; i < rules.length; i++) {
|
50
|
+
let rule = rules[i].split('-');
|
51
|
+
let ruleSize = rule.length > 1 ? rule[0] : 'small';
|
52
|
+
let rulePlugin = rule.length > 1 ? rule[1] : rule[0];
|
53
|
+
|
54
|
+
if (MenuPlugins[rulePlugin] !== null) {
|
55
|
+
rulesTree[ruleSize] = MenuPlugins[rulePlugin];
|
56
|
+
}
|
54
57
|
}
|
55
|
-
}
|
56
58
|
|
57
|
-
|
59
|
+
this.rules = rulesTree;
|
60
|
+
}
|
58
61
|
|
59
|
-
if (!$.isEmptyObject(
|
62
|
+
if (!$.isEmptyObject(this.rules)) {
|
60
63
|
this._checkMediaQueries();
|
61
64
|
}
|
62
65
|
}
|
@@ -109,17 +109,27 @@ class Reveal {
|
|
109
109
|
var outerWidth = $(window).width();
|
110
110
|
var height = this.$element.outerHeight();
|
111
111
|
var outerHeight = $(window).height();
|
112
|
-
var left
|
113
|
-
|
114
|
-
|
115
|
-
top = parseInt(Math.min(100, outerHeight / 10), 10);
|
112
|
+
var left, top;
|
113
|
+
if (this.options.hOffset === 'auto') {
|
114
|
+
left = parseInt((outerWidth - width) / 2, 10);
|
116
115
|
} else {
|
117
|
-
|
116
|
+
left = parseInt(this.options.hOffset, 10);
|
117
|
+
}
|
118
|
+
if (this.options.vOffset === 'auto') {
|
119
|
+
if (height > outerHeight) {
|
120
|
+
top = parseInt(Math.min(100, outerHeight / 10), 10);
|
121
|
+
} else {
|
122
|
+
top = parseInt((outerHeight - height) / 4, 10);
|
123
|
+
}
|
124
|
+
} else {
|
125
|
+
top = parseInt(this.options.vOffset, 10);
|
118
126
|
}
|
119
127
|
this.$element.css({top: top + 'px'});
|
120
|
-
// only worry about left if we don't have an overlay
|
121
|
-
|
128
|
+
// only worry about left if we don't have an overlay or we havea horizontal offset,
|
129
|
+
// otherwise we're perfectly in the middle
|
130
|
+
if(!this.$overlay || (this.options.hOffset !== 'auto')) {
|
122
131
|
this.$element.css({left: left + 'px'});
|
132
|
+
this.$element.css({margin: '0px'});
|
123
133
|
}
|
124
134
|
|
125
135
|
}
|
@@ -224,7 +234,7 @@ class Reveal {
|
|
224
234
|
if (this.options.overlay) {
|
225
235
|
Foundation.Motion.animateIn(this.$overlay, 'fade-in');
|
226
236
|
}
|
227
|
-
Foundation.Motion.animateIn(this.$element, this.options.animationIn,
|
237
|
+
Foundation.Motion.animateIn(this.$element, this.options.animationIn, () => {
|
228
238
|
this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);
|
229
239
|
});
|
230
240
|
}
|
@@ -292,9 +302,6 @@ class Reveal {
|
|
292
302
|
}
|
293
303
|
}
|
294
304
|
});
|
295
|
-
if (_this.focusableElements.length === 0) { // no focusable elements inside the modal at all, prevent tabbing in general
|
296
|
-
e.preventDefault();
|
297
|
-
}
|
298
305
|
});
|
299
306
|
}
|
300
307
|
|
@@ -308,12 +315,18 @@ class Reveal {
|
|
308
315
|
_this.focusableElements.eq(0).focus();
|
309
316
|
e.preventDefault();
|
310
317
|
}
|
318
|
+
if (_this.focusableElements.length === 0) { // no focusable elements inside the modal at all, prevent tabbing in general
|
319
|
+
e.preventDefault();
|
320
|
+
}
|
311
321
|
},
|
312
322
|
tab_backward: function() {
|
313
323
|
if (_this.$element.find(':focus').is(_this.focusableElements.eq(0)) || _this.$element.is(':focus')) { // left modal upwards, setting focus to last element
|
314
324
|
_this.focusableElements.eq(-1).focus();
|
315
325
|
e.preventDefault();
|
316
326
|
}
|
327
|
+
if (_this.focusableElements.length === 0) { // no focusable elements inside the modal at all, prevent tabbing in general
|
328
|
+
e.preventDefault();
|
329
|
+
}
|
317
330
|
},
|
318
331
|
open: function() {
|
319
332
|
if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {
|
@@ -437,6 +450,7 @@ class Reveal {
|
|
437
450
|
*/
|
438
451
|
destroy() {
|
439
452
|
if (this.options.overlay) {
|
453
|
+
this.$element.appendTo($('body')); // move $element outside of $overlay to prevent error unregisterPlugin()
|
440
454
|
this.$overlay.hide().off().remove();
|
441
455
|
}
|
442
456
|
this.$element.hide().off();
|
@@ -493,15 +507,15 @@ Reveal.defaults = {
|
|
493
507
|
/**
|
494
508
|
* Distance, in pixels, the modal should push down from the top of the screen.
|
495
509
|
* @option
|
496
|
-
* @example
|
510
|
+
* @example auto
|
497
511
|
*/
|
498
|
-
vOffset:
|
512
|
+
vOffset: 'auto',
|
499
513
|
/**
|
500
514
|
* Distance, in pixels, the modal should push in from the side of the screen.
|
501
515
|
* @option
|
502
|
-
* @example
|
516
|
+
* @example auto
|
503
517
|
*/
|
504
|
-
hOffset:
|
518
|
+
hOffset: 'auto',
|
505
519
|
/**
|
506
520
|
* Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
|
507
521
|
* @option
|
@@ -103,6 +103,7 @@ class Slider {
|
|
103
103
|
* @param {Number} location - floating point between the start and end values of the slider bar.
|
104
104
|
* @param {Function} cb - callback function to fire on completion.
|
105
105
|
* @fires Slider#moved
|
106
|
+
* @fires Slider#changed
|
106
107
|
*/
|
107
108
|
_setHandlePos($hndl, location, noInvert, cb) {
|
108
109
|
//might need to alter that slightly for bars that will have odd number selections.
|
@@ -137,7 +138,7 @@ class Slider {
|
|
137
138
|
handleDim = $hndl[0].getBoundingClientRect()[hOrW],
|
138
139
|
elemDim = this.$element[0].getBoundingClientRect()[hOrW],
|
139
140
|
//percentage of bar min/max value based on click or drag point
|
140
|
-
pctOfBar = percent(location, this.options.end).toFixed(2),
|
141
|
+
pctOfBar = percent(location - this.options.start, this.options.end - this.options.start).toFixed(2),
|
141
142
|
//number of actual pixels to shift the handle, based on the percentage obtained above
|
142
143
|
pxToMove = (elemDim - handleDim) * pctOfBar,
|
143
144
|
//percentage of bar to shift the handle
|
@@ -199,6 +200,15 @@ class Slider {
|
|
199
200
|
_this.$fill.css(css);
|
200
201
|
}
|
201
202
|
});
|
203
|
+
|
204
|
+
/**
|
205
|
+
* Fires when the value has not been change for a given time.
|
206
|
+
* @event Slider#changed
|
207
|
+
*/
|
208
|
+
clearTimeout(_this.timeout);
|
209
|
+
_this.timeout = setTimeout(function(){
|
210
|
+
_this.$element.trigger('changed.zf.slider', [$hndl]);
|
211
|
+
}, _this.options.changedDelay);
|
202
212
|
}
|
203
213
|
|
204
214
|
/**
|
@@ -265,7 +275,7 @@ class Slider {
|
|
265
275
|
//if the cursor position is less than or greater than the elements bounding coordinates, set coordinates within those bounds
|
266
276
|
barXY = barOffset > 0 ? -halfOfHandle : (barOffset - halfOfHandle) < -barDim ? barDim : Math.abs(barOffset),
|
267
277
|
offsetPct = percent(barXY, barDim);
|
268
|
-
value = (this.options.end - this.options.start) * offsetPct;
|
278
|
+
value = (this.options.end - this.options.start) * offsetPct + this.options.start;
|
269
279
|
|
270
280
|
// turn everything around for RTL, yay math!
|
271
281
|
if (Foundation.rtl() && !this.options.vertical) {value = this.options.end - value;}
|
@@ -520,7 +530,13 @@ Slider.defaults = {
|
|
520
530
|
* @option
|
521
531
|
* @example false
|
522
532
|
*/
|
523
|
-
invertVertical: false
|
533
|
+
invertVertical: false,
|
534
|
+
/**
|
535
|
+
* Milliseconds before the `changed.zf-slider` event is triggered after value change.
|
536
|
+
* @option
|
537
|
+
* @example 500
|
538
|
+
*/
|
539
|
+
changedDelay: 500
|
524
540
|
};
|
525
541
|
|
526
542
|
function percent(frac, num) {
|
@@ -103,14 +103,14 @@ class Toggler {
|
|
103
103
|
|
104
104
|
if (this.$element.is(':hidden')) {
|
105
105
|
Foundation.Motion.animateIn(this.$element, this.animationIn, function() {
|
106
|
-
this.trigger('on.zf.toggler');
|
107
106
|
_this._updateARIA(true);
|
107
|
+
this.trigger('on.zf.toggler');
|
108
108
|
});
|
109
109
|
}
|
110
110
|
else {
|
111
111
|
Foundation.Motion.animateOut(this.$element, this.animationOut, function() {
|
112
|
-
this.trigger('off.zf.toggler');
|
113
112
|
_this._updateARIA(false);
|
113
|
+
this.trigger('off.zf.toggler');
|
114
114
|
});
|
115
115
|
}
|
116
116
|
}
|
@@ -172,6 +172,18 @@ function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
|
|
172
172
|
top: $eleDims.windowDims.offset.top
|
173
173
|
}
|
174
174
|
break;
|
175
|
+
case 'left bottom':
|
176
|
+
return {
|
177
|
+
left: $anchorDims.offset.left - ($eleDims.width + hOffset),
|
178
|
+
top: $anchorDims.offset.top + $anchorDims.height
|
179
|
+
};
|
180
|
+
break;
|
181
|
+
case 'right bottom':
|
182
|
+
return {
|
183
|
+
left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
|
184
|
+
top: $anchorDims.offset.top + $anchorDims.height
|
185
|
+
};
|
186
|
+
break;
|
175
187
|
default:
|
176
188
|
return {
|
177
189
|
left: (Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left),
|
@@ -128,8 +128,8 @@ $-zf-flex-classes-imported: false;
|
|
128
128
|
|
129
129
|
// Set box-sizing globally to handle padding and border widths
|
130
130
|
*,
|
131
|
-
|
132
|
-
|
131
|
+
*::before,
|
132
|
+
*::after {
|
133
133
|
box-sizing: inherit;
|
134
134
|
}
|
135
135
|
|
@@ -187,6 +187,7 @@ $-zf-flex-classes-imported: false;
|
|
187
187
|
|
188
188
|
// Reset <button> styles created by most browsers
|
189
189
|
button {
|
190
|
+
@include disable-mouse-outline;
|
190
191
|
-webkit-appearance: none;
|
191
192
|
-moz-appearance: none;
|
192
193
|
background: transparent;
|
@@ -512,7 +513,7 @@ $-zf-flex-classes-imported: false;
|
|
512
513
|
|
513
514
|
button[disabled],
|
514
515
|
html input[disabled] {
|
515
|
-
cursor:
|
516
|
+
cursor: not-allowed;
|
516
517
|
}
|
517
518
|
|
518
519
|
/**
|
@@ -29,13 +29,15 @@ $buttongroup-expand-max: 6 !default;
|
|
29
29
|
) {
|
30
30
|
@include clearfix;
|
31
31
|
margin-bottom: $buttongroup-margin;
|
32
|
-
font-size: 0;
|
33
32
|
|
34
33
|
@if $global-flexbox {
|
35
34
|
display: flex;
|
36
35
|
flex-wrap: nowrap;
|
37
36
|
align-items: stretch;
|
38
37
|
}
|
38
|
+
@else {
|
39
|
+
font-size: 0;
|
40
|
+
}
|
39
41
|
|
40
42
|
#{$child-selector} {
|
41
43
|
margin: 0;
|
@@ -44,17 +46,9 @@ $buttongroup-expand-max: 6 !default;
|
|
44
46
|
@if $global-flexbox {
|
45
47
|
flex: 0 0 auto;
|
46
48
|
}
|
47
|
-
@else {
|
48
|
-
float: #{$global-left};
|
49
|
-
}
|
50
49
|
|
51
50
|
&:not(:last-child) {
|
52
|
-
|
53
|
-
margin-right: $buttongroup-spacing;
|
54
|
-
}
|
55
|
-
@else {
|
56
|
-
border-#{$global-right}: $buttongroup-spacing solid $body-background;
|
57
|
-
}
|
51
|
+
margin-right: $buttongroup-spacing;
|
58
52
|
}
|
59
53
|
}
|
60
54
|
}
|
@@ -84,7 +78,11 @@ $buttongroup-expand-max: 6 !default;
|
|
84
78
|
&:first-child:nth-last-child(#{$i}) {
|
85
79
|
&, &:first-child:nth-last-child(#{$i}) ~ #{$selector} {
|
86
80
|
display: inline-block;
|
87
|
-
|
81
|
+
@if #{$buttongroup-spacing} == '0' {
|
82
|
+
width: #{percentage(1 / $i)};
|
83
|
+
} @else {
|
84
|
+
width: calc(#{percentage(1 / $i)} - #{$buttongroup-spacing});
|
85
|
+
}
|
88
86
|
margin-right: $buttongroup-spacing;
|
89
87
|
}
|
90
88
|
}
|
@@ -105,13 +103,20 @@ $buttongroup-expand-max: 6 !default;
|
|
105
103
|
#{$selector} {
|
106
104
|
@if $global-flexbox {
|
107
105
|
flex: 0 0 100%;
|
106
|
+
margin-#{$global-right}: 0;
|
108
107
|
}
|
109
108
|
@else {
|
110
109
|
width: 100%;
|
110
|
+
border-#{$global-right}: $buttongroup-spacing solid transparent;
|
111
111
|
}
|
112
|
-
|
112
|
+
|
113
113
|
&:not(:last-child) {
|
114
|
-
|
114
|
+
@if $global-flexbox {
|
115
|
+
margin-bottom: $buttongroup-spacing;
|
116
|
+
}
|
117
|
+
@else {
|
118
|
+
border-bottom: $buttongroup-spacing solid $body-background;
|
119
|
+
}
|
115
120
|
}
|
116
121
|
}
|
117
122
|
}
|
@@ -142,7 +147,9 @@ $buttongroup-expand-max: 6 !default;
|
|
142
147
|
|
143
148
|
// Sizes
|
144
149
|
@each $size, $value in map-remove($button-sizes, default) {
|
145
|
-
&.#{$size} #{$buttongroup-child-selector} {
|
150
|
+
&.#{$size} #{$buttongroup-child-selector} {
|
151
|
+
font-size: $value;
|
152
|
+
}
|
146
153
|
}
|
147
154
|
|
148
155
|
// Even-width Group
|
@@ -99,7 +99,7 @@ $button-opacity-disabled: 0.25 !default;
|
|
99
99
|
$color: $button-color
|
100
100
|
) {
|
101
101
|
@if $color == auto {
|
102
|
-
$color: foreground($background);
|
102
|
+
$color: foreground($background, $button-color-alt, $button-color);
|
103
103
|
}
|
104
104
|
|
105
105
|
@if $background-hover == auto {
|
@@ -139,7 +139,6 @@ $button-opacity-disabled: 0.25 !default;
|
|
139
139
|
@mixin button-disabled {
|
140
140
|
opacity: $button-opacity-disabled;
|
141
141
|
cursor: not-allowed;
|
142
|
-
pointer-events: none;
|
143
142
|
}
|
144
143
|
|
145
144
|
/// Adds a dropdown arrow to a button.
|
@@ -195,15 +194,18 @@ $button-opacity-disabled: 0.25 !default;
|
|
195
194
|
|
196
195
|
// Sizes
|
197
196
|
@each $size, $value in map-remove($button-sizes, default) {
|
198
|
-
&.#{$size} {
|
197
|
+
&.#{$size} {
|
198
|
+
font-size: $value;
|
199
|
+
}
|
199
200
|
}
|
201
|
+
|
200
202
|
&.expanded { @include button-expand; }
|
201
203
|
|
202
204
|
// Colors
|
203
205
|
@each $name, $color in $foundation-palette {
|
204
206
|
@if $button-fill != hollow {
|
205
207
|
&.#{$name} {
|
206
|
-
@include button-style($color, auto);
|
208
|
+
@include button-style($color, auto, auto);
|
207
209
|
}
|
208
210
|
}
|
209
211
|
@else {
|