bootstrap 4.1.3 → 4.2.1
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/.travis.yml +1 -1
- data/README.md +1 -1
- data/Rakefile +2 -2
- data/assets/javascripts/bootstrap-sprockets.js +6 -5
- data/assets/javascripts/bootstrap.js +3290 -2985
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +127 -132
- data/assets/javascripts/bootstrap/button.js +119 -124
- data/assets/javascripts/bootstrap/carousel.js +492 -393
- data/assets/javascripts/bootstrap/collapse.js +276 -279
- data/assets/javascripts/bootstrap/dropdown.js +413 -374
- data/assets/javascripts/bootstrap/modal.js +455 -445
- data/assets/javascripts/bootstrap/popover.js +155 -160
- data/assets/javascripts/bootstrap/scrollspy.js +246 -250
- data/assets/javascripts/bootstrap/tab.js +180 -192
- data/assets/javascripts/bootstrap/toast.js +277 -0
- data/assets/javascripts/bootstrap/tooltip.js +533 -522
- data/assets/javascripts/bootstrap/util.js +140 -116
- data/assets/stylesheets/_bootstrap-grid.scss +2 -5
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +3 -1
- data/assets/stylesheets/bootstrap/_alert.scss +1 -1
- data/assets/stylesheets/bootstrap/_badge.scss +6 -0
- data/assets/stylesheets/bootstrap/_button-group.scss +9 -18
- data/assets/stylesheets/bootstrap/_buttons.scss +7 -10
- data/assets/stylesheets/bootstrap/_card.scss +30 -21
- data/assets/stylesheets/bootstrap/_carousel.scss +36 -74
- data/assets/stylesheets/bootstrap/_close.scss +15 -6
- data/assets/stylesheets/bootstrap/_custom-forms.scss +103 -29
- data/assets/stylesheets/bootstrap/_dropdown.scss +30 -5
- data/assets/stylesheets/bootstrap/_forms.scss +12 -11
- data/assets/stylesheets/bootstrap/_functions.scss +4 -4
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +24 -4
- data/assets/stylesheets/bootstrap/_list-group.scss +6 -0
- data/assets/stylesheets/bootstrap/_modal.scss +16 -10
- data/assets/stylesheets/bootstrap/_nav.scss +2 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +4 -4
- data/assets/stylesheets/bootstrap/_popover.scss +1 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +14 -35
- data/assets/stylesheets/bootstrap/_spinners.scss +53 -0
- data/assets/stylesheets/bootstrap/_tables.scss +2 -2
- data/assets/stylesheets/bootstrap/_toasts.scss +43 -0
- data/assets/stylesheets/bootstrap/_type.scss +2 -2
- data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
- data/assets/stylesheets/bootstrap/_variables.scss +220 -81
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -2
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +9 -7
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +61 -10
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +3 -4
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +9 -10
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +10 -1
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +5 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +4 -0
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
- data/assets/stylesheets/bootstrap/utilities/_text.scss +13 -4
- data/bootstrap.gemspec +6 -3
- data/lib/bootstrap.rb +10 -7
- data/lib/bootstrap/engine.rb +3 -0
- data/lib/bootstrap/version.rb +4 -2
- metadata +15 -11
@@ -43,7 +43,7 @@
|
|
43
43
|
}
|
44
44
|
|
45
45
|
.card-subtitle {
|
46
|
-
margin-top:
|
46
|
+
margin-top: -$card-spacer-y / 2;
|
47
47
|
margin-bottom: 0;
|
48
48
|
}
|
49
49
|
|
@@ -68,6 +68,7 @@
|
|
68
68
|
.card-header {
|
69
69
|
padding: $card-spacer-y $card-spacer-x;
|
70
70
|
margin-bottom: 0; // Removes the default margin-bottom of <hN>
|
71
|
+
color: $card-cap-color;
|
71
72
|
background-color: $card-cap-bg;
|
72
73
|
border-bottom: $card-border-width solid $card-border-color;
|
73
74
|
|
@@ -98,15 +99,15 @@
|
|
98
99
|
//
|
99
100
|
|
100
101
|
.card-header-tabs {
|
101
|
-
margin-right:
|
102
|
+
margin-right: -$card-spacer-x / 2;
|
102
103
|
margin-bottom: -$card-spacer-y;
|
103
|
-
margin-left:
|
104
|
+
margin-left: -$card-spacer-x / 2;
|
104
105
|
border-bottom: 0;
|
105
106
|
}
|
106
107
|
|
107
108
|
.card-header-pills {
|
108
|
-
margin-right:
|
109
|
-
margin-left:
|
109
|
+
margin-right: -$card-spacer-x / 2;
|
110
|
+
margin-left: -$card-spacer-x / 2;
|
110
111
|
}
|
111
112
|
|
112
113
|
// Card image
|
@@ -277,25 +278,33 @@
|
|
277
278
|
//
|
278
279
|
|
279
280
|
.accordion {
|
280
|
-
.card
|
281
|
-
|
282
|
-
|
283
|
-
|
281
|
+
.card {
|
282
|
+
overflow: hidden;
|
283
|
+
|
284
|
+
&:not(:first-of-type) {
|
285
|
+
.card-header:first-child {
|
286
|
+
border-radius: 0;
|
287
|
+
}
|
284
288
|
|
285
|
-
|
286
|
-
|
287
|
-
|
289
|
+
&:not(:last-of-type) {
|
290
|
+
border-bottom: 0;
|
291
|
+
border-radius: 0;
|
292
|
+
}
|
288
293
|
}
|
289
|
-
}
|
290
294
|
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
295
|
+
&:first-of-type {
|
296
|
+
border-bottom: 0;
|
297
|
+
border-bottom-right-radius: 0;
|
298
|
+
border-bottom-left-radius: 0;
|
299
|
+
}
|
296
300
|
|
297
|
-
|
298
|
-
|
299
|
-
|
301
|
+
&:last-of-type {
|
302
|
+
border-top-left-radius: 0;
|
303
|
+
border-top-right-radius: 0;
|
304
|
+
}
|
305
|
+
|
306
|
+
.card-header {
|
307
|
+
margin-bottom: -$card-border-width;
|
308
|
+
}
|
300
309
|
}
|
301
310
|
}
|
@@ -1,70 +1,55 @@
|
|
1
1
|
// Notes on the classes:
|
2
2
|
//
|
3
|
-
// 1.
|
3
|
+
// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)
|
4
|
+
// even when their scroll action started on a carousel, but for compatibility (with Firefox)
|
5
|
+
// we're preventing all actions instead
|
6
|
+
// 2. The .carousel-item-left and .carousel-item-right is used to indicate where
|
4
7
|
// the active slide is heading.
|
5
|
-
//
|
6
|
-
//
|
8
|
+
// 3. .active.carousel-item is the current slide.
|
9
|
+
// 4. .active.carousel-item-left and .active.carousel-item-right is the current
|
7
10
|
// slide in its in-transition state. Only one of these occurs at a time.
|
8
|
-
//
|
11
|
+
// 5. .carousel-item-next.carousel-item-left and .carousel-item-prev.carousel-item-right
|
9
12
|
// is the upcoming slide in transition.
|
10
13
|
|
11
14
|
.carousel {
|
12
15
|
position: relative;
|
13
16
|
}
|
14
17
|
|
18
|
+
.carousel.pointer-event {
|
19
|
+
touch-action: pan-y;
|
20
|
+
}
|
21
|
+
|
15
22
|
.carousel-inner {
|
16
23
|
position: relative;
|
17
24
|
width: 100%;
|
18
25
|
overflow: hidden;
|
26
|
+
@include clearfix();
|
19
27
|
}
|
20
28
|
|
21
29
|
.carousel-item {
|
22
30
|
position: relative;
|
23
31
|
display: none;
|
24
|
-
|
32
|
+
float: left;
|
25
33
|
width: 100%;
|
34
|
+
margin-right: -100%;
|
26
35
|
backface-visibility: hidden;
|
27
|
-
|
36
|
+
@include transition($carousel-transition);
|
28
37
|
}
|
29
38
|
|
30
39
|
.carousel-item.active,
|
31
40
|
.carousel-item-next,
|
32
41
|
.carousel-item-prev {
|
33
42
|
display: block;
|
34
|
-
@include transition($carousel-transition);
|
35
|
-
}
|
36
|
-
|
37
|
-
.carousel-item-next,
|
38
|
-
.carousel-item-prev {
|
39
|
-
position: absolute;
|
40
|
-
top: 0;
|
41
|
-
}
|
42
|
-
|
43
|
-
.carousel-item-next.carousel-item-left,
|
44
|
-
.carousel-item-prev.carousel-item-right {
|
45
|
-
transform: translateX(0);
|
46
|
-
|
47
|
-
@supports (transform-style: preserve-3d) {
|
48
|
-
transform: translate3d(0, 0, 0);
|
49
|
-
}
|
50
43
|
}
|
51
44
|
|
52
|
-
.carousel-item-next,
|
45
|
+
.carousel-item-next:not(.carousel-item-left),
|
53
46
|
.active.carousel-item-right {
|
54
47
|
transform: translateX(100%);
|
55
|
-
|
56
|
-
@supports (transform-style: preserve-3d) {
|
57
|
-
transform: translate3d(100%, 0, 0);
|
58
|
-
}
|
59
48
|
}
|
60
49
|
|
61
|
-
.carousel-item-prev,
|
50
|
+
.carousel-item-prev:not(.carousel-item-right),
|
62
51
|
.active.carousel-item-left {
|
63
52
|
transform: translateX(-100%);
|
64
|
-
|
65
|
-
@supports (transform-style: preserve-3d) {
|
66
|
-
transform: translate3d(-100%, 0, 0);
|
67
|
-
}
|
68
53
|
}
|
69
54
|
|
70
55
|
|
@@ -75,31 +60,22 @@
|
|
75
60
|
.carousel-fade {
|
76
61
|
.carousel-item {
|
77
62
|
opacity: 0;
|
78
|
-
transition-duration: .6s;
|
79
63
|
transition-property: opacity;
|
64
|
+
transform: none;
|
80
65
|
}
|
81
66
|
|
82
67
|
.carousel-item.active,
|
83
68
|
.carousel-item-next.carousel-item-left,
|
84
69
|
.carousel-item-prev.carousel-item-right {
|
70
|
+
z-index: 1;
|
85
71
|
opacity: 1;
|
86
72
|
}
|
87
73
|
|
88
74
|
.active.carousel-item-left,
|
89
75
|
.active.carousel-item-right {
|
76
|
+
z-index: 0;
|
90
77
|
opacity: 0;
|
91
|
-
|
92
|
-
|
93
|
-
.carousel-item-next,
|
94
|
-
.carousel-item-prev,
|
95
|
-
.carousel-item.active,
|
96
|
-
.active.carousel-item-left,
|
97
|
-
.active.carousel-item-prev {
|
98
|
-
transform: translateX(0);
|
99
|
-
|
100
|
-
@supports (transform-style: preserve-3d) {
|
101
|
-
transform: translate3d(0, 0, 0);
|
102
|
-
}
|
78
|
+
@include transition(0s $carousel-transition-duration opacity);
|
103
79
|
}
|
104
80
|
}
|
105
81
|
|
@@ -113,6 +89,7 @@
|
|
113
89
|
position: absolute;
|
114
90
|
top: 0;
|
115
91
|
bottom: 0;
|
92
|
+
z-index: 1;
|
116
93
|
// Use flex for alignment (1-3)
|
117
94
|
display: flex; // 1. allow flex styles
|
118
95
|
align-items: center; // 2. vertically center contents
|
@@ -121,15 +98,14 @@
|
|
121
98
|
color: $carousel-control-color;
|
122
99
|
text-align: center;
|
123
100
|
opacity: $carousel-control-opacity;
|
124
|
-
|
125
|
-
// animation if you trip this while in the middle of another animation.
|
101
|
+
@include transition($carousel-control-transition);
|
126
102
|
|
127
103
|
// Hover/focus state
|
128
104
|
@include hover-focus {
|
129
105
|
color: $carousel-control-color;
|
130
106
|
text-decoration: none;
|
131
107
|
outline: 0;
|
132
|
-
opacity:
|
108
|
+
opacity: $carousel-control-hover-opacity;
|
133
109
|
}
|
134
110
|
}
|
135
111
|
.carousel-control-prev {
|
@@ -170,7 +146,7 @@
|
|
170
146
|
.carousel-indicators {
|
171
147
|
position: absolute;
|
172
148
|
right: 0;
|
173
|
-
bottom:
|
149
|
+
bottom: 0;
|
174
150
|
left: 0;
|
175
151
|
z-index: 15;
|
176
152
|
display: flex;
|
@@ -182,7 +158,7 @@
|
|
182
158
|
list-style: none;
|
183
159
|
|
184
160
|
li {
|
185
|
-
|
161
|
+
box-sizing: content-box;
|
186
162
|
flex: 0 1 auto;
|
187
163
|
width: $carousel-indicator-width;
|
188
164
|
height: $carousel-indicator-height;
|
@@ -190,31 +166,17 @@
|
|
190
166
|
margin-left: $carousel-indicator-spacer;
|
191
167
|
text-indent: -999px;
|
192
168
|
cursor: pointer;
|
193
|
-
background-color:
|
194
|
-
|
195
|
-
// Use
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
display: inline-block;
|
201
|
-
width: 100%;
|
202
|
-
height: 10px;
|
203
|
-
content: "";
|
204
|
-
}
|
205
|
-
&::after {
|
206
|
-
position: absolute;
|
207
|
-
bottom: -10px;
|
208
|
-
left: 0;
|
209
|
-
display: inline-block;
|
210
|
-
width: 100%;
|
211
|
-
height: 10px;
|
212
|
-
content: "";
|
213
|
-
}
|
169
|
+
background-color: $carousel-indicator-active-bg;
|
170
|
+
background-clip: padding-box;
|
171
|
+
// Use transparent borders to increase the hit area by 10px on top and bottom.
|
172
|
+
border-top: $carousel-indicator-hit-area-height solid transparent;
|
173
|
+
border-bottom: $carousel-indicator-hit-area-height solid transparent;
|
174
|
+
opacity: .5;
|
175
|
+
@include transition($carousel-indicator-transition);
|
214
176
|
}
|
215
177
|
|
216
178
|
.active {
|
217
|
-
|
179
|
+
opacity: 1;
|
218
180
|
}
|
219
181
|
}
|
220
182
|
|
@@ -225,9 +187,9 @@
|
|
225
187
|
|
226
188
|
.carousel-caption {
|
227
189
|
position: absolute;
|
228
|
-
right: (
|
190
|
+
right: (100% - $carousel-caption-width) / 2;
|
229
191
|
bottom: 20px;
|
230
|
-
left: (
|
192
|
+
left: (100% - $carousel-caption-width) / 2;
|
231
193
|
z-index: 10;
|
232
194
|
padding-top: 20px;
|
233
195
|
padding-bottom: 20px;
|
@@ -7,11 +7,14 @@
|
|
7
7
|
text-shadow: $close-text-shadow;
|
8
8
|
opacity: .5;
|
9
9
|
|
10
|
-
|
10
|
+
// Override <a>'s hover style
|
11
|
+
@include hover {
|
12
|
+
color: $close-color;
|
13
|
+
text-decoration: none;
|
14
|
+
}
|
11
15
|
|
16
|
+
&:not(:disabled):not(.disabled) {
|
12
17
|
@include hover-focus {
|
13
|
-
color: $close-color;
|
14
|
-
text-decoration: none;
|
15
18
|
opacity: .75;
|
16
19
|
}
|
17
20
|
|
@@ -25,11 +28,17 @@
|
|
25
28
|
// If you want the anchor version, it requires `href="#"`.
|
26
29
|
// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
|
27
30
|
|
28
|
-
// stylelint-disable
|
31
|
+
// stylelint-disable-next-line selector-no-qualifying-type
|
29
32
|
button.close {
|
30
33
|
padding: 0;
|
31
34
|
background-color: transparent;
|
32
35
|
border: 0;
|
33
|
-
|
36
|
+
appearance: none;
|
37
|
+
}
|
38
|
+
|
39
|
+
// Future-proof disabling of clicks on `<a>` elements
|
40
|
+
|
41
|
+
// stylelint-disable-next-line selector-no-qualifying-type
|
42
|
+
a.close.disabled {
|
43
|
+
pointer-events: none;
|
34
44
|
}
|
35
|
-
// stylelint-enable
|
@@ -10,8 +10,8 @@
|
|
10
10
|
.custom-control {
|
11
11
|
position: relative;
|
12
12
|
display: block;
|
13
|
-
min-height:
|
14
|
-
padding-left: $custom-control-gutter;
|
13
|
+
min-height: $font-size-base * $line-height-base;
|
14
|
+
padding-left: $custom-control-gutter + $custom-control-indicator-size;
|
15
15
|
}
|
16
16
|
|
17
17
|
.custom-control-inline {
|
@@ -26,18 +26,28 @@
|
|
26
26
|
|
27
27
|
&:checked ~ .custom-control-label::before {
|
28
28
|
color: $custom-control-indicator-checked-color;
|
29
|
+
border-color: $custom-control-indicator-checked-border-color;
|
29
30
|
@include gradient-bg($custom-control-indicator-checked-bg);
|
30
31
|
@include box-shadow($custom-control-indicator-checked-box-shadow);
|
31
32
|
}
|
32
33
|
|
33
34
|
&:focus ~ .custom-control-label::before {
|
34
35
|
// the mixin is not used here to make sure there is feedback
|
35
|
-
|
36
|
+
@if $enable-shadows {
|
37
|
+
box-shadow: $input-box-shadow, $input-focus-box-shadow;
|
38
|
+
} @else {
|
39
|
+
box-shadow: $custom-control-indicator-focus-box-shadow;
|
40
|
+
}
|
36
41
|
}
|
37
42
|
|
38
|
-
&:
|
43
|
+
&:focus:not(:checked) ~ .custom-control-label::before {
|
44
|
+
border-color: $custom-control-indicator-focus-border-color;
|
45
|
+
}
|
46
|
+
|
47
|
+
&:not(:disabled):active ~ .custom-control-label::before {
|
39
48
|
color: $custom-control-indicator-active-color;
|
40
49
|
background-color: $custom-control-indicator-active-bg;
|
50
|
+
border-color: $custom-control-indicator-active-border-color;
|
41
51
|
@include box-shadow($custom-control-indicator-active-box-shadow);
|
42
52
|
}
|
43
53
|
|
@@ -59,27 +69,28 @@
|
|
59
69
|
.custom-control-label {
|
60
70
|
position: relative;
|
61
71
|
margin-bottom: 0;
|
72
|
+
vertical-align: top;
|
62
73
|
|
63
74
|
// Background-color and (when enabled) gradient
|
64
75
|
&::before {
|
65
76
|
position: absolute;
|
66
|
-
top: (
|
67
|
-
left:
|
77
|
+
top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;
|
78
|
+
left: -($custom-control-gutter + $custom-control-indicator-size);
|
68
79
|
display: block;
|
69
80
|
width: $custom-control-indicator-size;
|
70
81
|
height: $custom-control-indicator-size;
|
71
82
|
pointer-events: none;
|
72
83
|
content: "";
|
73
|
-
user-select: none;
|
74
84
|
background-color: $custom-control-indicator-bg;
|
85
|
+
border: $custom-control-indicator-border-color solid $custom-control-indicator-border-width;
|
75
86
|
@include box-shadow($custom-control-indicator-box-shadow);
|
76
87
|
}
|
77
88
|
|
78
89
|
// Foreground (icon)
|
79
90
|
&::after {
|
80
91
|
position: absolute;
|
81
|
-
top: (
|
82
|
-
left:
|
92
|
+
top: ($font-size-base * $line-height-base - $custom-control-indicator-size) / 2;
|
93
|
+
left: -($custom-control-gutter + $custom-control-indicator-size);
|
83
94
|
display: block;
|
84
95
|
width: $custom-control-indicator-size;
|
85
96
|
height: $custom-control-indicator-size;
|
@@ -101,9 +112,6 @@
|
|
101
112
|
}
|
102
113
|
|
103
114
|
.custom-control-input:checked ~ .custom-control-label {
|
104
|
-
&::before {
|
105
|
-
@include gradient-bg($custom-control-indicator-checked-bg);
|
106
|
-
}
|
107
115
|
&::after {
|
108
116
|
background-image: $custom-checkbox-indicator-icon-checked;
|
109
117
|
}
|
@@ -111,6 +119,7 @@
|
|
111
119
|
|
112
120
|
.custom-control-input:indeterminate ~ .custom-control-label {
|
113
121
|
&::before {
|
122
|
+
border-color: $custom-checkbox-indicator-indeterminate-border-color;
|
114
123
|
@include gradient-bg($custom-checkbox-indicator-indeterminate-bg);
|
115
124
|
@include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
|
116
125
|
}
|
@@ -139,11 +148,49 @@
|
|
139
148
|
}
|
140
149
|
|
141
150
|
.custom-control-input:checked ~ .custom-control-label {
|
151
|
+
&::after {
|
152
|
+
background-image: $custom-radio-indicator-icon-checked;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
.custom-control-input:disabled {
|
157
|
+
&:checked ~ .custom-control-label::before {
|
158
|
+
background-color: $custom-control-indicator-checked-disabled-bg;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
}
|
162
|
+
|
163
|
+
|
164
|
+
// switches
|
165
|
+
//
|
166
|
+
// Tweak a few things for switches
|
167
|
+
|
168
|
+
.custom-switch {
|
169
|
+
padding-left: $custom-switch-width + $custom-control-gutter;
|
170
|
+
|
171
|
+
.custom-control-label {
|
142
172
|
&::before {
|
143
|
-
|
173
|
+
left: -($custom-switch-width + $custom-control-gutter);
|
174
|
+
width: $custom-switch-width;
|
175
|
+
pointer-events: all;
|
176
|
+
border-radius: $custom-switch-indicator-border-radius;
|
144
177
|
}
|
178
|
+
|
145
179
|
&::after {
|
146
|
-
|
180
|
+
top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2});
|
181
|
+
left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2});
|
182
|
+
width: $custom-switch-indicator-size;
|
183
|
+
height: $custom-switch-indicator-size;
|
184
|
+
background-color: $custom-control-indicator-border-color;
|
185
|
+
border-radius: $custom-switch-indicator-border-radius;
|
186
|
+
@include transition(transform .15s ease-in-out, $custom-forms-transition);
|
187
|
+
}
|
188
|
+
}
|
189
|
+
|
190
|
+
.custom-control-input:checked ~ .custom-control-label {
|
191
|
+
&::after {
|
192
|
+
background-color: $custom-control-indicator-bg;
|
193
|
+
transform: translateX($custom-switch-width - $custom-control-indicator-size);
|
147
194
|
}
|
148
195
|
}
|
149
196
|
|
@@ -166,11 +213,12 @@
|
|
166
213
|
width: 100%;
|
167
214
|
height: $custom-select-height;
|
168
215
|
padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
|
216
|
+
font-weight: $custom-select-font-weight;
|
169
217
|
line-height: $custom-select-line-height;
|
170
218
|
color: $custom-select-color;
|
171
219
|
vertical-align: middle;
|
172
|
-
background: $custom-select-
|
173
|
-
background-
|
220
|
+
background: $custom-select-background;
|
221
|
+
background-color: $custom-select-bg;
|
174
222
|
border: $custom-select-border-width solid $custom-select-border-color;
|
175
223
|
@if $enable-rounded {
|
176
224
|
border-radius: $custom-select-border-radius;
|
@@ -220,15 +268,17 @@
|
|
220
268
|
|
221
269
|
.custom-select-sm {
|
222
270
|
height: $custom-select-height-sm;
|
223
|
-
padding-top: $custom-select-padding-y;
|
224
|
-
padding-bottom: $custom-select-padding-y;
|
271
|
+
padding-top: $custom-select-padding-y-sm;
|
272
|
+
padding-bottom: $custom-select-padding-y-sm;
|
273
|
+
padding-left: $custom-select-padding-x-sm;
|
225
274
|
font-size: $custom-select-font-size-sm;
|
226
275
|
}
|
227
276
|
|
228
277
|
.custom-select-lg {
|
229
278
|
height: $custom-select-height-lg;
|
230
|
-
padding-top: $custom-select-padding-y;
|
231
|
-
padding-bottom: $custom-select-padding-y;
|
279
|
+
padding-top: $custom-select-padding-y-lg;
|
280
|
+
padding-bottom: $custom-select-padding-y-lg;
|
281
|
+
padding-left: $custom-select-padding-x-lg;
|
232
282
|
font-size: $custom-select-font-size-lg;
|
233
283
|
}
|
234
284
|
|
@@ -256,10 +306,6 @@
|
|
256
306
|
&:focus ~ .custom-file-label {
|
257
307
|
border-color: $custom-file-focus-border-color;
|
258
308
|
box-shadow: $custom-file-focus-box-shadow;
|
259
|
-
|
260
|
-
&::after {
|
261
|
-
border-color: $custom-file-focus-border-color;
|
262
|
-
}
|
263
309
|
}
|
264
310
|
|
265
311
|
&:disabled ~ .custom-file-label {
|
@@ -271,6 +317,10 @@
|
|
271
317
|
content: $value;
|
272
318
|
}
|
273
319
|
}
|
320
|
+
|
321
|
+
~ .custom-file-label[data-browse]::after {
|
322
|
+
content: attr(data-browse);
|
323
|
+
}
|
274
324
|
}
|
275
325
|
|
276
326
|
.custom-file-label {
|
@@ -281,6 +331,7 @@
|
|
281
331
|
z-index: 1;
|
282
332
|
height: $custom-file-height;
|
283
333
|
padding: $custom-file-padding-y $custom-file-padding-x;
|
334
|
+
font-weight: $custom-file-font-weight;
|
284
335
|
line-height: $custom-file-line-height;
|
285
336
|
color: $custom-file-color;
|
286
337
|
background-color: $custom-file-bg;
|
@@ -301,7 +352,7 @@
|
|
301
352
|
color: $custom-file-button-color;
|
302
353
|
content: "Browse";
|
303
354
|
@include gradient-bg($custom-file-button-bg);
|
304
|
-
border-left:
|
355
|
+
border-left: inherit;
|
305
356
|
@include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
|
306
357
|
}
|
307
358
|
}
|
@@ -314,14 +365,15 @@
|
|
314
365
|
|
315
366
|
.custom-range {
|
316
367
|
width: 100%;
|
317
|
-
|
368
|
+
height: calc(#{$custom-range-thumb-height} + #{$custom-range-thumb-focus-box-shadow-width * 2});
|
369
|
+
padding: 0; // Need to reset padding
|
318
370
|
background-color: transparent;
|
319
371
|
appearance: none;
|
320
372
|
|
321
373
|
&:focus {
|
322
374
|
outline: none;
|
323
375
|
|
324
|
-
// Pseudo-elements must be split across multiple rulesets to have an
|
376
|
+
// Pseudo-elements must be split across multiple rulesets to have an effect.
|
325
377
|
// No box-shadow() mixin for focus accessibility.
|
326
378
|
&::-webkit-slider-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
|
327
379
|
&::-moz-range-thumb { box-shadow: $custom-range-thumb-focus-box-shadow; }
|
@@ -335,7 +387,7 @@
|
|
335
387
|
&::-webkit-slider-thumb {
|
336
388
|
width: $custom-range-thumb-width;
|
337
389
|
height: $custom-range-thumb-height;
|
338
|
-
margin-top: (
|
390
|
+
margin-top: ($custom-range-track-height - $custom-range-thumb-height) / 2; // Webkit specific
|
339
391
|
@include gradient-bg($custom-range-thumb-bg);
|
340
392
|
border: $custom-range-thumb-border;
|
341
393
|
@include border-radius($custom-range-thumb-border-radius);
|
@@ -410,7 +462,7 @@
|
|
410
462
|
cursor: $custom-range-track-cursor;
|
411
463
|
background-color: transparent;
|
412
464
|
border-color: transparent;
|
413
|
-
border-width:
|
465
|
+
border-width: $custom-range-thumb-height / 2;
|
414
466
|
@include box-shadow($custom-range-track-box-shadow);
|
415
467
|
}
|
416
468
|
|
@@ -424,6 +476,28 @@
|
|
424
476
|
background-color: $custom-range-track-bg;
|
425
477
|
@include border-radius($custom-range-track-border-radius);
|
426
478
|
}
|
479
|
+
|
480
|
+
&:disabled {
|
481
|
+
&::-webkit-slider-thumb {
|
482
|
+
background-color: $custom-range-thumb-disabled-bg;
|
483
|
+
}
|
484
|
+
|
485
|
+
&::-webkit-slider-runnable-track {
|
486
|
+
cursor: default;
|
487
|
+
}
|
488
|
+
|
489
|
+
&::-moz-range-thumb {
|
490
|
+
background-color: $custom-range-thumb-disabled-bg;
|
491
|
+
}
|
492
|
+
|
493
|
+
&::-moz-range-track {
|
494
|
+
cursor: default;
|
495
|
+
}
|
496
|
+
|
497
|
+
&::-ms-thumb {
|
498
|
+
background-color: $custom-range-thumb-disabled-bg;
|
499
|
+
}
|
500
|
+
}
|
427
501
|
}
|
428
502
|
|
429
503
|
.custom-control-label::before,
|