bootstrap 4.0.0.beta → 4.0.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile +1 -1
- data/README.md +10 -43
- data/Rakefile +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +5 -5
- data/assets/javascripts/bootstrap.js +1561 -1542
- data/assets/javascripts/bootstrap.min.js +6 -5
- data/assets/javascripts/bootstrap/alert.js +31 -38
- data/assets/javascripts/bootstrap/button.js +23 -30
- data/assets/javascripts/bootstrap/carousel.js +72 -81
- data/assets/javascripts/bootstrap/collapse.js +72 -68
- data/assets/javascripts/bootstrap/dropdown.js +97 -85
- data/assets/javascripts/bootstrap/modal.js +104 -101
- data/assets/javascripts/bootstrap/popover.js +55 -68
- data/assets/javascripts/bootstrap/scrollspy.js +63 -68
- data/assets/javascripts/bootstrap/tab.js +54 -49
- data/assets/javascripts/bootstrap/tooltip.js +102 -116
- data/assets/javascripts/bootstrap/util.js +20 -30
- data/assets/stylesheets/_bootstrap-grid.scss +7 -9
- data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_alert.scss +4 -3
- data/assets/stylesheets/bootstrap/_badge.scss +1 -2
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -4
- data/assets/stylesheets/bootstrap/_button-group.scss +33 -24
- data/assets/stylesheets/bootstrap/_buttons.scss +24 -29
- data/assets/stylesheets/bootstrap/_card.scss +58 -22
- data/assets/stylesheets/bootstrap/_carousel.scss +6 -0
- data/assets/stylesheets/bootstrap/_close.scss +2 -2
- data/assets/stylesheets/bootstrap/_custom-forms.scss +11 -8
- data/assets/stylesheets/bootstrap/_dropdown.scss +16 -41
- data/assets/stylesheets/bootstrap/_forms.scss +12 -44
- data/assets/stylesheets/bootstrap/_functions.scss +6 -10
- data/assets/stylesheets/bootstrap/_grid.scss +0 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +17 -7
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +12 -1
- data/assets/stylesheets/bootstrap/_nav.scss +5 -5
- data/assets/stylesheets/bootstrap/_navbar.scss +27 -5
- data/assets/stylesheets/bootstrap/_pagination.scss +2 -4
- data/assets/stylesheets/bootstrap/_popover.scss +16 -17
- data/assets/stylesheets/bootstrap/_print.scss +2 -3
- data/assets/stylesheets/bootstrap/_progress.scss +4 -6
- data/assets/stylesheets/bootstrap/_reboot.scss +39 -16
- data/assets/stylesheets/bootstrap/_root.scss +19 -0
- data/assets/stylesheets/bootstrap/_tables.scss +40 -28
- data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_type.scss +2 -0
- data/assets/stylesheets/bootstrap/_variables.scss +467 -476
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +18 -4
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +27 -16
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +35 -0
- data/assets/stylesheets/bootstrap/mixins/_float.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +31 -4
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +14 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +10 -5
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +13 -12
- data/assets/stylesheets/bootstrap/mixins/_image.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -2
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -2
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_align.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_background.scss +16 -3
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_display.scss +3 -0
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +12 -1
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +2 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +24 -14
- data/assets/stylesheets/bootstrap/utilities/_text.scss +7 -4
- data/bootstrap.gemspec +2 -3
- data/lib/bootstrap.rb +0 -16
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +31 -4
- data/tasks/updater/scss.rb +0 -12
- data/test/dummy_rails/config/application.rb +0 -1
- metadata +16 -27
- data/templates/project/_bootstrap-variables.scss +0 -834
- data/templates/project/manifest.rb +0 -18
- data/templates/project/styles.scss +0 -10
- data/test/compass_test.rb +0 -14
@@ -1,35 +1,27 @@
|
|
1
1
|
/**
|
2
2
|
* --------------------------------------------------------------------------
|
3
|
-
* Bootstrap (v4.0.0-beta): util.js
|
3
|
+
* Bootstrap (v4.0.0-beta.2): util.js
|
4
4
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5
5
|
* --------------------------------------------------------------------------
|
6
6
|
*/
|
7
|
-
|
8
|
-
var Util = function ($) {
|
9
|
-
|
7
|
+
var Util = function () {
|
10
8
|
/**
|
11
9
|
* ------------------------------------------------------------------------
|
12
10
|
* Private TransitionEnd Helpers
|
13
11
|
* ------------------------------------------------------------------------
|
14
12
|
*/
|
15
|
-
|
16
13
|
var transition = false;
|
17
|
-
|
18
14
|
var MAX_UID = 1000000;
|
19
|
-
|
20
15
|
var TransitionEndEvent = {
|
21
16
|
WebkitTransition: 'webkitTransitionEnd',
|
22
17
|
MozTransition: 'transitionend',
|
23
18
|
OTransition: 'oTransitionEnd otransitionend',
|
24
|
-
transition: 'transitionend'
|
19
|
+
transition: 'transitionend' // shoutout AngusCroll (https://goo.gl/pxwQGp)
|
25
20
|
|
26
|
-
|
27
|
-
};function toType(obj) {
|
28
|
-
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
29
|
-
}
|
21
|
+
};
|
30
22
|
|
31
|
-
function
|
32
|
-
return (obj[
|
23
|
+
function toType(obj) {
|
24
|
+
return {}.toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
|
33
25
|
}
|
34
26
|
|
35
27
|
function getSpecialTransitionEndEvent() {
|
@@ -40,7 +32,8 @@ var Util = function ($) {
|
|
40
32
|
if ($(event.target).is(this)) {
|
41
33
|
return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
42
34
|
}
|
43
|
-
|
35
|
+
|
36
|
+
return undefined; // eslint-disable-line no-undefined
|
44
37
|
}
|
45
38
|
};
|
46
39
|
}
|
@@ -53,7 +46,7 @@ var Util = function ($) {
|
|
53
46
|
var el = document.createElement('bootstrap');
|
54
47
|
|
55
48
|
for (var name in TransitionEndEvent) {
|
56
|
-
if (el.style[name] !== undefined) {
|
49
|
+
if (typeof el.style[name] !== 'undefined') {
|
57
50
|
return {
|
58
51
|
end: TransitionEndEvent[name]
|
59
52
|
};
|
@@ -67,55 +60,51 @@ var Util = function ($) {
|
|
67
60
|
var _this = this;
|
68
61
|
|
69
62
|
var called = false;
|
70
|
-
|
71
63
|
$(this).one(Util.TRANSITION_END, function () {
|
72
64
|
called = true;
|
73
65
|
});
|
74
|
-
|
75
66
|
setTimeout(function () {
|
76
67
|
if (!called) {
|
77
68
|
Util.triggerTransitionEnd(_this);
|
78
69
|
}
|
79
70
|
}, duration);
|
80
|
-
|
81
71
|
return this;
|
82
72
|
}
|
83
73
|
|
84
74
|
function setTransitionEndSupport() {
|
85
75
|
transition = transitionEndTest();
|
86
|
-
|
87
76
|
$.fn.emulateTransitionEnd = transitionEndEmulator;
|
88
77
|
|
89
78
|
if (Util.supportsTransitionEnd()) {
|
90
79
|
$.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();
|
91
80
|
}
|
92
81
|
}
|
93
|
-
|
94
82
|
/**
|
95
83
|
* --------------------------------------------------------------------------
|
96
84
|
* Public Util Api
|
97
85
|
* --------------------------------------------------------------------------
|
98
86
|
*/
|
99
87
|
|
100
|
-
var Util = {
|
101
88
|
|
89
|
+
var Util = {
|
102
90
|
TRANSITION_END: 'bsTransitionEnd',
|
103
|
-
|
104
91
|
getUID: function getUID(prefix) {
|
105
92
|
do {
|
106
93
|
// eslint-disable-next-line no-bitwise
|
107
94
|
prefix += ~~(Math.random() * MAX_UID); // "~~" acts like a faster Math.floor() here
|
108
95
|
} while (document.getElementById(prefix));
|
96
|
+
|
109
97
|
return prefix;
|
110
98
|
},
|
111
99
|
getSelectorFromElement: function getSelectorFromElement(element) {
|
112
100
|
var selector = element.getAttribute('data-target');
|
101
|
+
|
113
102
|
if (!selector || selector === '#') {
|
114
103
|
selector = element.getAttribute('href') || '';
|
115
104
|
}
|
116
105
|
|
117
106
|
try {
|
118
|
-
var $selector = $(selector);
|
107
|
+
var $selector = $(document).find(selector);
|
119
108
|
return $selector.length > 0 ? selector : null;
|
120
109
|
} catch (error) {
|
121
110
|
return null;
|
@@ -130,22 +119,23 @@ var Util = function ($) {
|
|
130
119
|
supportsTransitionEnd: function supportsTransitionEnd() {
|
131
120
|
return Boolean(transition);
|
132
121
|
},
|
122
|
+
isElement: function isElement(obj) {
|
123
|
+
return (obj[0] || obj).nodeType;
|
124
|
+
},
|
133
125
|
typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {
|
134
126
|
for (var property in configTypes) {
|
135
|
-
if (
|
127
|
+
if (Object.prototype.hasOwnProperty.call(configTypes, property)) {
|
136
128
|
var expectedTypes = configTypes[property];
|
137
129
|
var value = config[property];
|
138
|
-
var valueType = value && isElement(value) ? 'element' : toType(value);
|
130
|
+
var valueType = value && Util.isElement(value) ? 'element' : toType(value);
|
139
131
|
|
140
132
|
if (!new RegExp(expectedTypes).test(valueType)) {
|
141
|
-
throw new Error(componentName.toUpperCase() +
|
133
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
142
134
|
}
|
143
135
|
}
|
144
136
|
}
|
145
137
|
}
|
146
138
|
};
|
147
|
-
|
148
139
|
setTransitionEndSupport();
|
149
|
-
|
150
140
|
return Util;
|
151
|
-
}(
|
141
|
+
}($);
|
@@ -1,14 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
// Box sizing, responsive, and more
|
8
|
-
//
|
1
|
+
/*!
|
2
|
+
* Bootstrap Grid v4.0.0-beta.2 (https://getbootstrap.com)
|
3
|
+
* Copyright 2011-2017 The Bootstrap Authors
|
4
|
+
* Copyright 2011-2017 Twitter, Inc.
|
5
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6
|
+
*/
|
9
7
|
|
10
8
|
@at-root {
|
11
|
-
@-ms-viewport { width: device-width; }
|
9
|
+
@-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix
|
12
10
|
}
|
13
11
|
|
14
12
|
html {
|
@@ -1,9 +1,12 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
/*!
|
2
|
+
* Bootstrap Reboot v4.0.0-beta.2 (https://getbootstrap.com)
|
3
|
+
* Copyright 2011-2017 The Bootstrap Authors
|
4
|
+
* Copyright 2011-2017 Twitter, Inc.
|
5
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
6
|
+
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
7
|
+
*/
|
4
8
|
|
5
9
|
@import "bootstrap/functions";
|
6
10
|
@import "bootstrap/variables";
|
7
11
|
@import "bootstrap/mixins";
|
8
|
-
|
9
12
|
@import "bootstrap/reboot";
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v4.0.0-beta (https://getbootstrap.com)
|
2
|
+
* Bootstrap v4.0.0-beta.2 (https://getbootstrap.com)
|
3
3
|
* Copyright 2011-2017 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2017 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
@@ -8,6 +8,7 @@
|
|
8
8
|
@import "bootstrap/functions";
|
9
9
|
@import "bootstrap/variables";
|
10
10
|
@import "bootstrap/mixins";
|
11
|
+
@import "bootstrap/root";
|
11
12
|
@import "bootstrap/print";
|
12
13
|
@import "bootstrap/reboot";
|
13
14
|
@import "bootstrap/type";
|
@@ -3,6 +3,7 @@
|
|
3
3
|
//
|
4
4
|
|
5
5
|
.alert {
|
6
|
+
position: relative;
|
6
7
|
padding: $alert-padding-y $alert-padding-x;
|
7
8
|
margin-bottom: $alert-margin-bottom;
|
8
9
|
border: $alert-border-width solid transparent;
|
@@ -28,9 +29,9 @@
|
|
28
29
|
.alert-dismissible {
|
29
30
|
// Adjust close link position
|
30
31
|
.close {
|
31
|
-
position:
|
32
|
-
top:
|
33
|
-
right:
|
32
|
+
position: absolute;
|
33
|
+
top: 0;
|
34
|
+
right: 0;
|
34
35
|
padding: $alert-padding-y $alert-padding-x;
|
35
36
|
color: inherit;
|
36
37
|
}
|
@@ -9,11 +9,10 @@
|
|
9
9
|
font-size: $badge-font-size;
|
10
10
|
font-weight: $badge-font-weight;
|
11
11
|
line-height: 1;
|
12
|
-
color: $badge-color;
|
13
12
|
text-align: center;
|
14
13
|
white-space: nowrap;
|
15
14
|
vertical-align: baseline;
|
16
|
-
@include border-radius();
|
15
|
+
@include border-radius($badge-border-radius);
|
17
16
|
|
18
17
|
// Empty badges collapse automatically
|
19
18
|
&:empty {
|
@@ -1,15 +1,14 @@
|
|
1
1
|
.breadcrumb {
|
2
|
+
display: flex;
|
3
|
+
flex-wrap: wrap;
|
2
4
|
padding: $breadcrumb-padding-y $breadcrumb-padding-x;
|
3
|
-
margin-bottom:
|
5
|
+
margin-bottom: $breadcrumb-margin-bottom;
|
4
6
|
list-style: none;
|
5
7
|
background-color: $breadcrumb-bg;
|
6
8
|
@include border-radius($border-radius);
|
7
|
-
@include clearfix;
|
8
9
|
}
|
9
10
|
|
10
11
|
.breadcrumb-item {
|
11
|
-
float: left;
|
12
|
-
|
13
12
|
// The separator between breadcrumbs (by default, a forward-slash: "/")
|
14
13
|
+ .breadcrumb-item::before {
|
15
14
|
display: inline-block; // Suppress underlining of the separator in modern browsers
|
@@ -28,6 +27,7 @@
|
|
28
27
|
+ .breadcrumb-item:hover::before {
|
29
28
|
text-decoration: underline;
|
30
29
|
}
|
30
|
+
// stylelint-disable-next-line no-duplicate-selectors
|
31
31
|
+ .breadcrumb-item:hover::before {
|
32
32
|
text-decoration: none;
|
33
33
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
2
2
|
|
3
3
|
// Make the div behave like a button
|
4
4
|
.btn-group,
|
@@ -10,7 +10,6 @@
|
|
10
10
|
> .btn {
|
11
11
|
position: relative;
|
12
12
|
flex: 0 1 auto;
|
13
|
-
margin-bottom: 0;
|
14
13
|
|
15
14
|
// Bring the hover, focused, and "active" buttons to the front to overlay
|
16
15
|
// the borders properly
|
@@ -48,7 +47,8 @@
|
|
48
47
|
border-radius: 0;
|
49
48
|
}
|
50
49
|
|
51
|
-
// Set corners individual because sometimes a single button can be in a .btn-group
|
50
|
+
// Set corners individual because sometimes a single button can be in a .btn-group
|
51
|
+
// and we need :first-child and :last-child to both match
|
52
52
|
.btn-group > .btn:first-child {
|
53
53
|
margin-left: 0;
|
54
54
|
|
@@ -56,25 +56,30 @@
|
|
56
56
|
@include border-right-radius(0);
|
57
57
|
}
|
58
58
|
}
|
59
|
-
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu
|
59
|
+
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu
|
60
|
+
// immediately after it
|
60
61
|
.btn-group > .btn:last-child:not(:first-child),
|
61
62
|
.btn-group > .dropdown-toggle:not(:first-child) {
|
62
63
|
@include border-left-radius(0);
|
63
64
|
}
|
64
65
|
|
65
|
-
// Custom edits for including btn-groups within btn-groups (useful for including
|
66
|
+
// Custom edits for including btn-groups within btn-groups (useful for including
|
67
|
+
// dropdown buttons within a btn-group)
|
66
68
|
.btn-group > .btn-group {
|
67
69
|
float: left;
|
68
70
|
}
|
71
|
+
|
69
72
|
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
|
70
73
|
border-radius: 0;
|
71
74
|
}
|
75
|
+
|
72
76
|
.btn-group > .btn-group:first-child:not(:last-child) {
|
73
77
|
> .btn:last-child,
|
74
78
|
> .dropdown-toggle {
|
75
79
|
@include border-right-radius(0);
|
76
80
|
}
|
77
81
|
}
|
82
|
+
|
78
83
|
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
|
79
84
|
@include border-left-radius(0);
|
80
85
|
}
|
@@ -129,7 +134,6 @@
|
|
129
134
|
//
|
130
135
|
|
131
136
|
.btn-group-vertical {
|
132
|
-
display: inline-flex;
|
133
137
|
flex-direction: column;
|
134
138
|
align-items: flex-start;
|
135
139
|
justify-content: center;
|
@@ -146,31 +150,36 @@
|
|
146
150
|
margin-top: -$input-btn-border-width;
|
147
151
|
margin-left: 0;
|
148
152
|
}
|
149
|
-
}
|
150
153
|
|
151
|
-
|
152
|
-
|
154
|
+
> .btn {
|
155
|
+
&:not(:first-child):not(:last-child) {
|
156
|
+
border-radius: 0;
|
157
|
+
}
|
158
|
+
|
159
|
+
&:first-child:not(:last-child) {
|
160
|
+
@include border-bottom-radius(0);
|
161
|
+
}
|
162
|
+
|
163
|
+
&:last-child:not(:first-child) {
|
164
|
+
@include border-top-radius(0);
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
> .btn-group:not(:first-child):not(:last-child) > .btn {
|
153
169
|
border-radius: 0;
|
154
170
|
}
|
155
|
-
|
156
|
-
|
171
|
+
|
172
|
+
> .btn-group:first-child:not(:last-child) {
|
173
|
+
> .btn:last-child,
|
174
|
+
> .dropdown-toggle {
|
175
|
+
@include border-bottom-radius(0);
|
176
|
+
}
|
157
177
|
}
|
158
|
-
|
178
|
+
|
179
|
+
> .btn-group:last-child:not(:first-child) > .btn:first-child {
|
159
180
|
@include border-top-radius(0);
|
160
181
|
}
|
161
182
|
}
|
162
|
-
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
|
163
|
-
border-radius: 0;
|
164
|
-
}
|
165
|
-
.btn-group-vertical > .btn-group:first-child:not(:last-child) {
|
166
|
-
> .btn:last-child,
|
167
|
-
> .dropdown-toggle {
|
168
|
-
@include border-bottom-radius(0);
|
169
|
-
}
|
170
|
-
}
|
171
|
-
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
|
172
|
-
@include border-top-radius(0);
|
173
|
-
}
|
174
183
|
|
175
184
|
|
176
185
|
// Checkbox and radio options
|
@@ -1,4 +1,4 @@
|
|
1
|
-
//
|
1
|
+
// stylelint-disable selector-no-qualifying-type
|
2
2
|
|
3
3
|
//
|
4
4
|
// Base styles
|
@@ -22,7 +22,7 @@
|
|
22
22
|
&:focus,
|
23
23
|
&.focus {
|
24
24
|
outline: 0;
|
25
|
-
box-shadow: $btn-focus-box-shadow;
|
25
|
+
box-shadow: $input-btn-focus-box-shadow;
|
26
26
|
}
|
27
27
|
|
28
28
|
// Disabled comes first so active can properly restyle
|
@@ -32,10 +32,10 @@
|
|
32
32
|
@include box-shadow(none);
|
33
33
|
}
|
34
34
|
|
35
|
-
&:active,
|
36
|
-
|
35
|
+
&:not([disabled]):not(.disabled):active,
|
36
|
+
&:not([disabled]):not(.disabled).active {
|
37
37
|
background-image: none;
|
38
|
-
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
38
|
+
@include box-shadow($input-btn-focus-box-shadow, $btn-active-box-shadow);
|
39
39
|
}
|
40
40
|
}
|
41
41
|
|
@@ -58,7 +58,11 @@ fieldset[disabled] a.btn {
|
|
58
58
|
|
59
59
|
@each $color, $value in $theme-colors {
|
60
60
|
.btn-outline-#{$color} {
|
61
|
-
@
|
61
|
+
@if $color == "light" {
|
62
|
+
@include button-outline-variant($value, $gray-900);
|
63
|
+
} @else {
|
64
|
+
@include button-outline-variant($value, $white);
|
65
|
+
}
|
62
66
|
}
|
63
67
|
}
|
64
68
|
|
@@ -71,36 +75,27 @@ fieldset[disabled] a.btn {
|
|
71
75
|
.btn-link {
|
72
76
|
font-weight: $font-weight-normal;
|
73
77
|
color: $link-color;
|
74
|
-
|
78
|
+
background-color: transparent;
|
75
79
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
&:disabled {
|
80
|
+
@include hover {
|
81
|
+
color: $link-hover-color;
|
82
|
+
text-decoration: $link-hover-decoration;
|
80
83
|
background-color: transparent;
|
81
|
-
|
84
|
+
border-color: transparent;
|
82
85
|
}
|
83
|
-
|
86
|
+
|
84
87
|
&:focus,
|
85
|
-
|
88
|
+
&.focus {
|
86
89
|
border-color: transparent;
|
87
90
|
box-shadow: none;
|
88
91
|
}
|
89
|
-
@include hover {
|
90
|
-
border-color: transparent;
|
91
|
-
}
|
92
|
-
@include hover-focus {
|
93
|
-
color: $link-hover-color;
|
94
|
-
text-decoration: $link-hover-decoration;
|
95
|
-
background-color: transparent;
|
96
|
-
}
|
97
|
-
&:disabled {
|
98
|
-
color: $btn-link-disabled-color;
|
99
92
|
|
100
|
-
|
101
|
-
|
102
|
-
|
93
|
+
&:disabled,
|
94
|
+
&.disabled {
|
95
|
+
color: $btn-link-disabled-color;
|
103
96
|
}
|
97
|
+
|
98
|
+
// No need for an active state here
|
104
99
|
}
|
105
100
|
|
106
101
|
|
@@ -109,11 +104,11 @@ fieldset[disabled] a.btn {
|
|
109
104
|
//
|
110
105
|
|
111
106
|
.btn-lg {
|
112
|
-
@include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $line-height-lg, $btn-border-radius-lg);
|
107
|
+
@include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $input-btn-line-height-lg, $btn-border-radius-lg);
|
113
108
|
}
|
114
109
|
|
115
110
|
.btn-sm {
|
116
|
-
@include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $line-height-sm, $btn-border-radius-sm);
|
111
|
+
@include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $input-btn-line-height-sm, $btn-border-radius-sm);
|
117
112
|
}
|
118
113
|
|
119
114
|
|